java rest 文件上传_文件上传下载rest实现

该博客介绍了如何使用Java实现RESTful接口进行文件上传。通过ServletFileUpload处理multipart/form-data请求,支持中文文件名,并将文件保存到服务器。同时提供了上传失败的错误提示。
摘要由CSDN通过智能技术生成

1 packagecom.augurit.agcom.rest;2 3 importjava.io.BufferedInputStream;4 importjava.io.BufferedOutputStream;5 importjava.io.File;6 importjava.io.FileInputStream;7 importjava.io.FileNotFoundException;8 importjava.io.FileOutputStream;9 importjava.io.IOException;10 importjava.io.InputStream;11 importjava.io.OutputStream;12 importjava.io.UnsupportedEncodingException;13 importjava.net.MalformedURLException;14 importjava.net.URL;15 importjava.text.SimpleDateFormat;16 importjava.util.ArrayList;17 importjava.util.Date;18 importjava.util.HashMap;19 importjava.util.List;20 importjava.util.Map;21 22 importjavax.servlet.ServletException;23 importjavax.servlet.http.HttpServletRequest;24 importjavax.servlet.http.HttpServletResponse;25 importjavax.ws.rs.Consumes;26 importjavax.ws.rs.GET;27 importjavax.ws.rs.POST;28 importjavax.ws.rs.Path;29 importjavax.ws.rs.PathParam;30 importjavax.ws.rs.Produces;31 importjavax.ws.rs.QueryParam;32 importjavax.ws.rs.core.Context;33 importjavax.ws.rs.core.MediaType;34 35 importnet.sf.json.JSONArray;36 importnet.sf.json.JSONObject;37 38 importorg.apache.commons.fileupload.FileItem;39 importorg.apache.commons.fileupload.FileItemFactory;40 importorg.apache.commons.fileupload.disk.DiskFileItemFactory;41 importorg.apache.commons.fileupload.servlet.ServletFileUpload;42 importorg.apache.ibatis.ognl.Evaluation;43 importorg.apache.log4j.Logger;44 importcom.augurit.agcom.system.util.PropertiesReader;45 46 47 importcom.augurit.agcom.persistence.dao.IAgSupUploadfileDao;48 importcom.augurit.agcom.persistence.dao.impl.AgSupUploadfileDaoImpl;49 importcom.augurit.agcom.system.bean.AgSupUploadfile;50 importcom.augurit.agcom.system.bean.User;51 importcom.sun.jersey.api.spring.Autowire;52 importcom.sun.jersey.spi.resource.Singleton;53 54 55 56 /**57 * rest文件上传、下载服务 使用方法,/rest/uploadservices/(方法名)/(后面这些是方法的参数)58 *59 *@authorLiuji60 */61 @Path("uploadservices")62 @Singleton63 @Autowire64 publicclassFileUploadDownRest{65 66 privateIAgSupUploadfileDao agSupUploadfileDao=newAgSupUploadfileDaoImpl();67 68 privatestaticfinalLogger log=Logger.getLogger(FileUploadDownRest.class);69 70 privatestaticfinalString FILE_BELONG_OTHER="other";//其他文件71 privatestaticfinalString FILE_BELONG_ZHOULH="zhoulh";//周例会文件72 /**73 * 文件上传74 *@parambody75 *@return76 *@throwsIOException77 */78 @POST79 @Path("upload")80 @Consumes( { MediaType.MULTIPART_FORM_DATA, MediaType.APPLICATION_JSON })81 @Produces(MediaType.TEXT_PLAIN)82 //@Produces("application/json")83 publicvoidupload( @Context HttpServletRequest request, @Context84 HttpServletResponse response)throwsIOException {85 response.setCharacterEncoding("UTF-8");86 String msg="上传失败!";87 Boolean flag=false;88 Mapmap=newHashMap();89 String objectNameStr="";90 String docbelongStr="";91 String fileName="";92 String fileFormat="";93 String saveFilePath="";94 booleanisMultipart=ServletFileUpload.isMultipartContent(request);95 if(isMultipart) {96 //构造一个文件上传处理对象97 FileItemFactory factory=newDiskFileItemFactory();98 ServletFileUpload upload=newServletFileUpload(factory);99 upload.setHeaderEncoding("utf-8");//支持中文文件名100 List list=newArrayList();101 try{102 //解析表单中提交的所有文件内容103 list=upload.parseRequest(request);104 for(inti=0; i"+msg+"返回继续上传!"+"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值