導航:首頁 > 編程語言 > javaspring文件上傳

javaspring文件上傳

發布時間:2023-06-10 17:30:41

㈠ springmvc 怎麼將文件上傳到linux伺服器

Spring MVC為文件上傳提供了直接的支持,這種支持是通過即插即用的MultipartResolver實現的。Spring使用Jakarta Commons FileUpload 技術實現了一個MultipartResolver實現類:CommonsMultipartResolver。
Spring MVC上下文中默認沒有裝配MultipartResolver,因此默認情況下不能處理文件的上傳工作。如果想要使用Spring的文件上傳功能,需要先在上下文中配置MultipartResolver。
第一步:配置MultipartResolver
使用CommonsMultipartResolver配置一個MultipartResolver解析器:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"
p:maxUploadSize="5242880"
p:uploadTempDir="upload/temp"
/>

defaultEncoding必須和用戶JSP的pageEncoding屬性一致,以便正確讀取表單的內容。uploadTempDir是文件上傳過程所使用的臨時目錄,文件上傳完成後,臨時目錄中的臨時文件會被自動清除。
第二步:編寫文件上傳表單頁面和控制器
JSP頁面如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h1>選擇上傳文件</h1>
<form action="<%=basePath%>user/upload.do" method="post" enctype="multipart/form-data">
文件名:<input type="text" name="name" /><br/>
<input type="file" name="file" /><br/>
<input type="submit" />
</form>
</body>
</html>

注意:負責上傳的表單和一般表單有一些區別,表單的編碼類型必須是"Multipart/form-data"
控制器UserController如下:

package com.web;

import java.io.File;
import java.io.IOException;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
@RequestMapping(value = "/user")
public class UserController {
@RequestMapping(value = "/upload.do")
public String updateThumb(@RequestParam("name") String name,
@RequestParam("file") MultipartFile file)
throws IllegalStateException, IOException {
if (!file.isEmpty()) {
file.transferTo(new File("d:/temp/"
+ name
+ file.getOriginalFilename().substring(
file.getOriginalFilename().lastIndexOf("."))));
return "redirect:success.html";
} else {
return "redirect:fail.html";
}
}
}

Spring MVC會將上傳文件綁定到MultipartFile對象中。MultipartFile提供了獲取上傳文件內容、文件名等內容,通過transferTo方法還可將文件存儲到硬體中,具體說明如下:
byte[] getBytes() :獲取文件數據
String getContentType():獲取文件MIME類型,如image/pjpeg、text/plain等
InputStream getInputStream():獲取文件流
String getName():獲取表單中文件組件的名字
String getOriginalFilename():獲取上傳文件的原名
long getSize():獲取文件的位元組大小,單位為byte
boolean isEmpty():是否有上傳的文件
void transferTo(File dest):可以使用該文件將上傳文件保存到一個目標文件中
源碼:uploadtest.zip

㈡ java實現文件上傳,代碼盡量簡潔~~~~~·

你說的2種方法都是很簡單的,參考網上的資料都不難做出,用io流做更是基礎中的基礎,我說下smartupload好了,有的人是直接寫在jsp上面,感覺比較亂,我一般都是寫在action裡面,打好jar包和配置後

SmartUpload mySmartUpload = new SmartUpload();

//如果是struts2.0或者webwork 則是mySmartUpload.initialize(ServletActionContext.getServletConfig(),ServletActionContext.getRequest(),ServletActionContext.getResponse());

mySmartUpload.initialize(servlet.getServletConfig(), request,response);
mySmartUpload.setTotalMaxFileSize(500000);
//如果上傳任意文件不設置mySmartUpload.setAllowedFilesList(文件後綴名)就可以了
mySmartUpload.upload();
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);
if (file.isMissing()) continue;
file.saveAs(保存的地址 + file.getFileName(),
su.SAVE_PHYSICAL);

閱讀全文

與javaspring文件上傳相關的資料

熱點內容
python怎麼將電腦作為伺服器 瀏覽:775
腰椎壓縮性骨折算幾級傷殘 瀏覽:298
傳統資產配置策略加密貨幣市場 瀏覽:986
id加密門禁卡可以復制到手機嗎 瀏覽:672
路由器如何控制某個app 瀏覽:43
C51編譯器在標准C的基礎上 瀏覽:260
銀行卡掉了可以辦車貸解壓嗎 瀏覽:317
沒解壓可以貸款嗎 瀏覽:517
最小pdf閱讀器 瀏覽:808
游戲被加密了怎樣用電腦打開 瀏覽:300
藍燈如何手動選擇伺服器 瀏覽:85
伺服器設置在中國意味什麼 瀏覽:571
單片機不能進行選擇控制 瀏覽:694
咕咚手錶如何綁定手機app 瀏覽:530
命令虛擬語氣 瀏覽:405
戴爾系統命令 瀏覽:583
怎樣壓縮視頻文件大小 瀏覽:686
51單片機信號發生器 瀏覽:56
米拍攝影哪個app好 瀏覽:88
天津致遠曙光伺服器雲伺服器 瀏覽:117