java接收ios文件上传的示例代码
本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下
iosMultipart/form-dataPOST请求java后台spring接口一直出错,搞了两天,终于解决了,积累下来
packagecom.xx.controller;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.Iterator;
importjava.util.LinkedList;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.FileUploadException;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.ResponseBody;
importcom.nupaApp.model.FileMeta;
@Controller
@RequestMapping("/controller")
publicclassFile1Controller{
LinkedListfiles=newLinkedList();
FileMetafileMeta=null;
/***************************************************
*URL:/rest/controller/uploadupload():receivesfiles
*
*@paramrequest
*:MultipartHttpServletRequestautopassed
*@paramresponse
*:HttpServletResponseautopassed
*@returnLinkedListasjsonformat
*@throwsIOException
*@throwsFileUploadException
****************************************************/
@RequestMapping(value="/upload",method=RequestMethod.POST)
@ResponseBody
publicStringupload(HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException,FileUploadException{
booleanisMultipart=ServletFileUpload.isMultipartContent(request);//判断是否是表单文件类型
DiskFileItemFactoryfactory=newDiskFileItemFactory();
ServletFileUploadsfu=newServletFileUpload(factory);
Listitems=sfu.parseRequest(request);//从request得到所有上传域的列表
for(Iteratoriter=items.iterator();iter.hasNext();){
FileItemfileitem=(FileItem)iter.next();
if(!fileitem.isFormField()&&fileitem!=null){//判读不是普通表单域即是file
//操作fileitem文件步骤,可以获取大小、路径
//定义图片输出路径
StringimgPath="e:"+System.currentTimeMillis()+".jpg";
//定义图片流
InputStreamfin=fileitem.getInputStream();
//定义图片输出流
FileOutputStreamfout=newFileOutputStream(imgPath);
//写文件
byte[]b=newbyte[1024];
intlength=0;
while((length=fin.read(b))>0){
fout.write(b,0,length);
}
//关闭数据流
fin.close();
fout.close();
}
}
return"200";
}
}
pom.xml添加
commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4
spring-config.xml添加bean
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。