在做品优购的时候,文件上传
controller类代码
/**
* 文件上传
* @author jia
*
*/
@RestController
public class UploadController {
//@Value("${FILE_SERVER_URL}")
private String file_server_url = "http://192.168.25.133/";
@RequestMapping(value="/upload")
public Result upload(MultipartFile file){
//1.获取拓展名
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf(".")+1);
//2.创建一个FastFDS的客户端
try {
FastDFSClient fastDFSClient = new FastDFSClient("classpath:config/fdfs_client.conf");
//3.执行上传处理
String path = fastDFSClient.uploadFile(file.getBytes(), extName);
//4 拼接返回的URL和Ip地址 品装成完整的URL
String url = file_server_url+path;
System.out.println("文件上传:"+url);
return new Result(true, url);
} catch (Exception e) {
e.printStackTrace();
return new Result(false, "上传失败");
}
}
}
js代码
//文件上传服务层
app.service("uploadService",function($http){
this.uploadFile=function(){
var formData= new FormData();
formData.append("file",file.files[0]);
return $http({
method:'post',
url: "../file/upload.do",
data: formData,
headers: {'Content-Type':undefined},
transformRequest: angular.identity
});
}
});
文件一上传就报错 302
302是重定向错误。但是这里也没有重定向到别的资源。看了一篇bolg 找到解决方案,但是还不清楚为什么这样去做
https://blog.csdn.net/w605283073/article/details/52108857
http://www.cnblogs.com/shexiao/p/3489883.html
于是修改controller中的类
@RestController
@RequestMapping(value="/file")
public class UploadController {
xxxxxxxxxxxxxxxxxxxxxxxxx
}
@RequestMapping(value="/file")
public class UploadController {
xxxxxxxxxxxxxxxxxxxxxxxxx
}
在类上添加上映射路径加上方法上的映射路径 就可以了。
希望对你有帮助、