欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
			}
相关标签: java java