当前位置: 首页 > 编程笔记 >

java接收ios文件上传的示例代码

蓬高谊
2023-03-14
本文向大家介绍java接收ios文件上传的示例代码,包括了java接收ios文件上传的示例代码的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下

ios Multipart/form-data POST请求java后台spring接口一直出错,搞了两天,终于解决了,积累下来

package com.xx.controller;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.nupaApp.model.FileMeta;

@Controller
@RequestMapping("/controller")
public class File1Controller {

 LinkedList<FileMeta> files = new LinkedList<FileMeta>();
 FileMeta fileMeta = null;

 /***************************************************
  * URL: /rest/controller/upload upload(): receives files
  * 
  * @param request
  *   : MultipartHttpServletRequest auto passed
  * @param response
  *   : HttpServletResponse auto passed
  * @return LinkedList<FileMeta> as json format
  * @throws IOException
  * @throws FileUploadException
  ****************************************************/
 @RequestMapping(value = "/upload", method = RequestMethod.POST)
 @ResponseBody
 public String upload(HttpServletRequest request, HttpServletResponse response)
   throws IOException, FileUploadException {

  boolean isMultipart = ServletFileUpload.isMultipartContent(request);// 判断是否是表单文件类型
  DiskFileItemFactory factory = new DiskFileItemFactory();
  ServletFileUpload sfu = new ServletFileUpload(factory);
  List items = sfu.parseRequest(request);// 从request得到所有上传域的列表
  for (Iterator iter = items.iterator(); iter.hasNext();) {
   FileItem fileitem = (FileItem) iter.next();
   if (!fileitem.isFormField() && fileitem != null) {// 判读不是普通表单域即是file
                // 操作fileitem文件步骤,可以获取大小、路径

    // 定义图片输出路径
    String imgPath = "e:" + System.currentTimeMillis() + ".jpg";
    // 定义图片流
    InputStream fin = fileitem.getInputStream();

    // 定义图片输出流
    FileOutputStream fout = new FileOutputStream(imgPath);
    // 写文件
    byte[] b = new byte[1024];
    int length = 0;
    while ((length = fin.read(b)) > 0) {

     fout.write(b, 0, length);
    }

    // 关闭数据流
    fin.close();
    fout.close();
   }

  }

  return "200";
 }

}

pom.xml 添加

<!-- 这个用于上传文件工具操作 -->
  <dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.3.1</version>
  </dependency>
  <dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.4</version>
  </dependency>

spring-config.xml 添加bean

<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件 中也不必引入上传组件包 -->
 <bean id="multipartResolver "
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 默认编码 -->
  <property name="defaultEncoding" value="utf-8" />
  <!-- 文件大小最大值 -->
  <property name="maxUploadSize" value="10485760000" />
  <!-- 内存中的最大值 -->
  <property name="maxInMemorySize" value="40960" />
 </bean>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍antd Upload 文件上传的示例代码,包括了antd Upload 文件上传的示例代码的使用技巧和注意事项,需要的朋友参考一下 1.antd官网Upload组件: https://ant.design/components/upload-cn/ 2.下图是最近开发的上传文档的效果: 3.文件上传的实现: (1)方法一:antd默认上传。 a:渲染文件上传组件。getPDFURL

  • 本文向大家介绍Spring MVC 文件上传的示例代码,包括了Spring MVC 文件上传的示例代码的使用技巧和注意事项,需要的朋友参考一下 一如既往记录下常用而又容易忘记的东西,本篇博文主要针对Spring MVC是如何上传文件的。以下记录两种上传方法并针对案例进行记录。(有关spring mvc其他配置省略) 1、使用Spring MVC 上传文件必须配置文件解析器,如下: 2、建立上传文件

  • 本文向大家介绍Angular angular-file-upload文件上传的示例代码,包括了Angular angular-file-upload文件上传的示例代码的使用技巧和注意事项,需要的朋友参考一下 问题描述 附件上传 检定结果以附件形式上传。 这里先不考虑api。 实现的任务就是,点击选择文件,选择之后可以清楚掉该文件。 插件介绍 用到了项目映入过的一个插件,angular-file-u

  • 本文向大家介绍struts2实现多文件上传的示例代码,包括了struts2实现多文件上传的示例代码的使用技巧和注意事项,需要的朋友参考一下 开发环境JDK1.8 eclipse struts2-2.3.31 1.创建web项目 2.导入struts2核心jar包 3.更改web.xml配置文件(只要配置好struts2的Filter就好) 4.创建src/struts.xml文件 5.创建src/

  • 本文向大家介绍Spring Boot实现文件上传示例代码,包括了Spring Boot实现文件上传示例代码的使用技巧和注意事项,需要的朋友参考一下 使用SpringBoot进行文件上传的方法和SpringMVC差不多,本文单独新建一个最简单的DEMO来说明一下。 主要步骤包括: 1、创建一个springboot项目工程,本例名称(demo-uploadfile)。 2、配置 pom.xml 依赖。

  • 本文向大家介绍java文件上传下载代码实例,包括了java文件上传下载代码实例的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java文件上传下载的具体代码,供大家参考,具体内容如下 文件上传 文件下载 以上所述是小编给大家介绍的java文件上传下载详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!