java – 如何在InputStream中接收多个文件并相应地处理它?
发布时间:2020-12-15 04:18:50 所属栏目:Java 来源:网络整理
导读:我想收到从客户端上传的多个文件.我上传了多个文件并使用JAX-RS(Jersey)请求我的服务器端( Java). 我有以下代码, @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public void upload(@Context UriInfo uriInfo,@FormDataParam("file") final InputStream i
我想收到从客户端上传的多个文件.我上传了多个文件并使用JAX-RS(Jersey)请求我的服务器端(
Java).
我有以下代码, @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public void upload(@Context UriInfo uriInfo,@FormDataParam("file") final InputStream is,@FormDataParam("file") final FormDataContentDisposition detail) { FileOutputStream os = new FileOutputStream("Path/to/save/" + appropriatefileName); byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) > 0) { os.write(buffer,length); } } 如何在客户端上传的服务器端单独编写文件. 例如.我上传了My_File.txt,My_File.PNG,My_File.doc等文件. 我怎样才能做到这一点? 解决方法
你可以尝试这样的事情:
@POST @Consumes(MediaType.MULTIPART_FORM_DATA) public void upload(FormDataMultiPart formParams) { Map<String,List<FormDataBodyPart>> fieldsByName = formParams.getFields(); // Usually each value in fieldsByName will be a list of length 1. // Assuming each field in the form is a file,just loop through them. for (List<FormDataBodyPart> fields : fieldsByName.values()) { for (FormDataBodyPart field : fields) { InputStream is = field.getEntityAs(InputStream.class); String fileName = field.getName(); // TODO: SAVE FILE HERE // if you want media type for validation,it's field.getMediaType() } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 如何在’war’任务中执行Ant路径映射?
- java – 如何设置在线考试的时间限制
- Java8新特性之lambda(动力节点Java学院整理)
- java – Solr vs文档编码问题
- java – warning:类型'[io.realm.OrderListRealmProxy
- 多线程Python脚本比非线程脚本花费更长时间
- java – 为什么使用AES加密16个字节时,密文长度为32个字节?
- java – maven-resources-plugin:2.6 – 无法创建资源输出
- java – 跨类访问H2连接
- indexOf()具有重复字符串的奇怪Java.util.List行为