Uploadify外掛在Spring?

Tags: 檔案, 外掛, 單次,

使用Uploadify外掛基於Spring MVC非同步單次上傳多檔案

方法/步驟

搭建Spring MVC專案環境

在MyEclipse中建立Java Web專案,並匯入Spring MVC框架必要的包。並建立各種類檔案和JSP檔案:

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

配置web.xml檔案:

UploadDemo

index.jsp

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

spring

org.springframework.web.servlet.DispatcherServlet

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

spring

*.jhtml

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

配置applicationContext.xml檔案:

xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:aop=";

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd

http://www.springframework.org/schema/aop ;>

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

1024000

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

4096

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

處理業務

建立上傳檔案的Controller:

UploadFileController.java:

package com.upload.controller;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import java.util.UUID;

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

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.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.commons.CommonsMultipartFile;

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

import com.google.gson.Gson;

import com.sun.jmx.snmp.Timestamp;

import com.upload.util.FileUtil;

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

@Controller("uploadFileController")

public class UploadFileController {

// Gson物件,用於操作JSON

private static Gson gson = new Gson();

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

/**

* 上傳檔案的方法

*

* @param anyFile

* 上傳頁面上uploadify元件的“fileObjName”屬性

* @param request

* HttpServletRequest物件

* @param response

* HttpServletResponse物件

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

* @return 返回JSON字串形式的結果集

* @throws IOException

*/

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)

@ResponseBody

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

public String upload(@RequestParam("anyFile") CommonsMultipartFile anyFile,

HttpServletRequest request, HttpServletResponse response)

throws IOException {

Map map = new HashMap ();

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

// 獲取伺服器上傳檔案的路徑(事先要建立好,否則會報錯,這裡為了演示就直接在Tomcat目錄下手動建立了一個名為upload的資料夾)

String filePath = request.getSession().getServletContext()

.getRealPath("/upload/");

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

// 避免檔案重名或者有中文導致意料之外的錯誤,將檔名統一設定為【UUID + 當前時間的時間戳】格式

String uuid = UUID.randomUUID().toString().replace("-", "");

String uuidFileName = uuid

+ new Timestamp(System.currentTimeMillis()).getDateTime();

try {

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

// 將檔案儲存到伺服器

FileUtil.upFile(anyFile.getInputStream(), uuidFileName, filePath);

} catch (Exception e) {

// 如果發生異常則表示上傳失敗,給出提示

map.put("result", "failed");

e.printStackTrace();

}

Uploadify外掛在Spring MVC非同步單次上傳多檔案1

檔案, 外掛, 單次,
相關問題答案