file.getOriginalFilename()方法在不同浏览器下的输出不相同
程序员文章站
2024-02-11 14:52:28
...
今天在学习图片上传的时候用到了这个方法,初衷是获得图片的地址,来进行保存等操作,
一开始用的是IE浏览器,并没有发现错误,之后用火狐和谷歌浏览器测试的时候发现报错了,最后才发现是这个函数的问题
在IE浏览器下输出的是带有盘符的地址
比如:E://Img/1.png
但是在谷歌和火狐浏览器下输出的是
1.png
至于别的什么360浏览器我没有测试,
想了想,最简单的解决方法就是自己再另外建一个文件夹,把图片保存到里面,再进行存取的操作
@RequestMapping("/receive")
@ResponseBody
public Map<String, Object> receive(MultipartFile file) throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
String aString = file.getOriginalFilename();//aa.png
//在D盘创建uploadimg文件夹来存放图片
Properties properties = PropertiesLoaderUtils.loadAllProperties("upload.properties");
String pathString =properties.getProperty("minio.saveimg");
File file1 = new File(pathString);
if (!file1.isDirectory()) {
file1.mkdir();
}else {
logger.info("文件夹已经存在");
}
String pngString = pathString+UserName+".png";
File file2 = new File(pngString);
file.transferTo(file2);
try {
String url = properties.getProperty("minio.url");
String user = properties.getProperty("minio.user");
String password = properties.getProperty("minio.password");
String bucketname = properties.getProperty("minio.imgbucketname");
String filepath = properties.getProperty("minio.imgfilepath");
// 参数为:图床,账号,密码
MinioClient minioClient = new MinioClient(url, user, password);
// 检查文件夹是否已经存在
boolean isExist = minioClient.bucketExists("managertest");
if(isExist) {
logger.info("该桶已经存在");
}
else {
// 创建一个名为managertest的文件夹
logger.info("正在创建该桶");
minioClient.makeBucket("managertest");
}
// 使用putObject上传一个文件到文件夹中。
//参数为:文件夹,要存成的名字,要存的文件
minioClient.putObject("managertest","merchent/"+UserName+".png", pngString);
logger.info("成功了");
} catch(MinioException e) {
System.out.println("错误: " + e);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("result", true);
return map;
}
上一篇: 配置基本ACL
下一篇: Android 模拟器下载、编译及调试
推荐阅读
-
file.getOriginalFilename()方法在不同浏览器下的输出不相同
-
python在windows命令行下输出彩色文字的方法
-
setTimeout与setInterval在不同浏览器下的差异研究 博客分类: Javascript 浏览器IEJavaScriptVBScriptFirefox
-
setTimeout与setInterval在不同浏览器下的差异研究 博客分类: Javascript 浏览器IEJavaScriptVBScriptFirefox
-
现在有三个不同类型的网站(在同一个服务器下),用户表字段字各不相同,怎么实现单点登陆?
-
捕获浏览器关闭、刷新事件不同情况下的处理方法_javascript技巧
-
ul在Firefox和IE下的不同表现的解决方法
-
jQuery中调用ajax方法时在不同浏览器中遇到的问题
-
Go语言在Linux环境下输出彩色字符的方法
-
字符串拼接方法在不同浏览器引擎的差异测试结论