后台是springMVC+hibernate。我现在要做一个保存图片的功能。前台请求是通过post请求的。过程是这样的:
例如前台要发一张图片给后台,他请求:HTTP:URL/add?context=XXX&phote=XXXX
上面的URL是服务器的地址,context里面的内容是对图片的描述,这个好办,然后Phote的内容是图片的内容。
后台的函数是这样的add(@requstparameter string context, @requstparameter string phote)
我可以拿到Phote的那个string,可是我该如何把它保存到服务器。
还有就是需要的时候,我该如何把图片返回给前台
------解决方案--------------------
public void uploadExcelData(HttpServletRequest request,
HttpServletResponse response,@RequestParam("upload") MultipartFile upLoadFile){
InputStream is = upLoadFile.getInputStream();
}
------解决方案--------------------
<form action="comm_addProduct.do?method=saveProduct" method="post" enctype="multipart/form-data">
<input name="upload" id="upload" type="file" />
</form>
你的前段假设是这样的 后端
public void uploadExcelData(HttpServletRequest request,
HttpServletResponse response,@RequestParam("upload") MultipartFile upLoadFile){
InputStream is = upLoadFile.getInputStream();
}
应该是可以获取到文件哦
------解决方案--------------------
@RequestMapping(value = "/uploadExcelData", method = RequestMethod.POST)
public void uploadExcelData(HttpServletRequest request,
HttpServletResponse response,@RequestParam("upload") MultipartFile upLoadFile)throws Exception{
String message="";
String pathUrl = request.getSession().getServletContext().getRealPath("")+"\\template";//存放的路径
//原始的文件名
String filename = upLoadFile.getOriginalFilename();
//获取扩展名
String extensionName = StringUtils.substringAfterLast(filename, ".");
Map<String,String> map = new HashMap<String,String>();
map.put("jpg", "jpg");
map.put("jpeg", "jpeg");
map.put("bmp", "bmp");
map.put("gif", "gif");
if (null == filename
------解决方案--------------------
0 == filename.length()) {
message="必须输入文件";
// 文件后缀判断
} else if (!map.containsKey(extensionName)) {
message="输入文件格式不正确";
// 文件读入
} else{
File file = new File(pathUrl+"\\newfileName"+"."+extensionName);
upLoadFile.transferTo(file);
}
}
给你全部代码吧~~~~~~
------解决方案--------------------
6楼正解,form必须是post,而且必须有enctype="multipart/form-data"