国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java接收ios文件上傳的示例代碼

2024-07-14 08:41:00
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三亚市| 庆云县| 星子县| 龙胜| 万安县| 米泉市| 额尔古纳市| 拜城县| 康马县| 昌邑市| 陈巴尔虎旗| 安国市| 安丘市| 三亚市| 民丰县| 四平市| 红安县| 台南市| 岚皋县| 民勤县| 福建省| 中江县| 永吉县| 景德镇市| 城口县| 阳江市| 婺源县| 灵寿县| 元江| 宾阳县| 黄骅市| 北流市| 丰台区| 曲靖市| 德安县| 邹平县| 汉寿县| 临泽县| 蒲江县| 新乡县| 林甸县|