欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年05月24日 08:59:02   作者:小小Blog  
這篇文章主要為大家詳細(xì)介紹了java接收ios文件上傳的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java如何接收ios文件上傳的具體代碼,供大家參考,具體內(nèi)容如下

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);
    }

    // 關(guān)閉數(shù)據(jù)流
    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

<!-- 配置文件上傳,如果沒有使用文件上傳可以不用配置,當(dāng)然如果不配,那么配置文件 中也不必引入上傳組件包 -->
 <bean id="multipartResolver "
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 默認(rèn)編碼 -->
  <property name="defaultEncoding" value="utf-8" />
  <!-- 文件大小最大值 -->
  <property name="maxUploadSize" value="10485760000" />
  <!-- 內(nèi)存中的最大值 -->
  <property name="maxInMemorySize" value="40960" />
 </bean>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則

    如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則

    正則表達(dá)式正則表達(dá)式是用來指定字符串模式的,可以方便的處理文本信息,這篇文章主要給大家介紹了關(guān)于如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Mybatis實(shí)現(xiàn)動態(tài)排序方式

    Mybatis實(shí)現(xiàn)動態(tài)排序方式

    這篇文章主要介紹了Mybatis實(shí)現(xiàn)動態(tài)排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • springboot集成gzip和zip數(shù)據(jù)壓縮傳輸(適用大數(shù)據(jù)信息傳輸)

    springboot集成gzip和zip數(shù)據(jù)壓縮傳輸(適用大數(shù)據(jù)信息傳輸)

    ?在大數(shù)據(jù)量的傳輸中,壓縮數(shù)據(jù)后進(jìn)行傳輸可以一定程度的解決速度問題,本文主要介紹了springboot集成gzip和zip數(shù)據(jù)壓縮傳輸,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Java中的Semaphore源碼分析

    Java中的Semaphore源碼分析

    這篇文章主要介紹了Java中的Semaphore源碼分析,Semaphore是一個訪問公共資源的線程數(shù)量如限流、停車等,它是一個基于AQS實(shí)現(xiàn)的共享鎖,主要是通過控制state變量來實(shí)現(xiàn),需要的朋友可以參考下
    2023-11-11
  • IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案

    IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案

    這篇文章主要介紹了IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Java中文亂碼解決方案全解析,讓你的程序“說人話”!

    Java中文亂碼解決方案全解析,讓你的程序“說人話”!

    探索Java中文亂碼解決方案全解析,讓你的程序終于能“說人話”!厭倦了看著一串串的問號或者奇怪符號嗎?跟著我們的指南,一步步輕松解鎖中文亂碼的秘密,讓你的代碼清晰表達(dá)每一個字,需要的朋友可以參考下
    2024-02-02
  • SpringBoot2入門自動配置原理及源碼分析

    SpringBoot2入門自動配置原理及源碼分析

    這篇文章主要為大家介紹了SpringBoot2入門自動配置原理及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Java多線程深入理解

    Java多線程深入理解

    這篇文章主要介紹了java多線程編程實(shí)例,分享了幾則多線程的實(shí)例代碼,具有一定參考價值,加深多線程編程的理解還是很有幫助的,需要的朋友可以參考下
    2021-07-07
  • java利用CompletionService保證任務(wù)先完成先獲取到執(zhí)行結(jié)果

    java利用CompletionService保證任務(wù)先完成先獲取到執(zhí)行結(jié)果

    這篇文章主要為大家詳細(xì)介紹了java如何利用CompletionService來保證任務(wù)先完成先獲取到執(zhí)行結(jié)果,文中的示例代碼講解詳細(xì),需要的可以參考下
    2023-08-08
  • 使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類

    使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類

    這篇文章主要為大家詳細(xì)介紹了如何使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03

最新評論