当前位置: 代码迷 >> Java Web开发 >> 后台怎么接收图片
  详细解决方案

后台怎么接收图片

热度:115   发布时间:2016-04-16 22:19:34.0
后台如何接收图片
后台是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"
  相关解决方案