當前位置:首頁 » 文件管理 » mvc上傳文件夾

mvc上傳文件夾

發布時間: 2023-07-01 01:43:51

❶ MVC圖書管理實現上傳圖片功能

展開全部
如果只是上傳的話那太容易了,如果還要顯示那就難了,因為要顯示的話就不能只向伺服器提交一次請求,必須非同步提交。下面的例子是我親自寫的,非同步提交上傳圖片並預覽。全部代碼都在。
首先建一個html文件,復制以下html文本。使用說明:
引用jquery兩個js文件,網上自己搜吧,到處都有。
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="jquery.form.js" type="text/javascript"></script>

2.添加兩個文本框,第一個ID必須是「bigImage1」,第二個必須是「smallbigImage1」。
<input type="text" name="url1" id="bigImage1" style="width:150px;" onclick="selectImage(this)" />
<input type="hidden" name="smallUrl1" id="smallbigImage1" value="" />
當點擊第一個文本框時,彈出一個上傳窗口,選擇一張圖片並點「上傳」,上傳成功後可預覽圖片。此過程會在伺服器上把原圖片生成一張縮略圖,並把原圖URL和縮略圖URL一起以JSON格式返回到前台頁面,臨時顯示縮略圖。當點擊「確定」時,它會把兩個URL添加到兩個對應ID的文本框。第二個框是隱藏的,給用戶的感覺就像是只返回一個URL一樣。

❷ 怎麼用servlet上傳文件到該WEB項目的WebRoot的某文件夾下啊是相對路徑不是絕對路徑,請問怎麼做啊

這個問題我以前也有過,但後來我明白了,雖然說JSP能編譯為Servlet但是,這只是web容器的功勞。你要是邊幾個項目就會明白。好的WEB程序里。JSP和HTML文件的編寫是一樣的。除了一些必要的處理代碼塊。但是很少有。一般處理請求的都放在了servlet里,現在Struts很好的封裝了Servlet這一層,成為了servelt的專業框架。用來處理用戶的請求。但有必要的時候,我們還必須自己去寫Servlet,比如過濾器,再比如監聽器等。

所以說,雖然JSP能編譯為Servlet但並不代表他就能替代Servlet。一般的web項目盡量將顯示代碼放進jsp中

而處理代碼放進Servlet中。以增加可讀性,可拓展性。可維護性。可能我說的有點深奧,但是你以後去做項目時就會明白了。

JSP是絕不能替代Servlet的。希望對你有幫助。

❸ 如何在spring mvc中上傳圖片並顯示出來

(1)在spring mvc的配置文件中配置:

<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<propertyname="uploadTempDir"value="/tmp"/><!--臨時目錄-->
<propertyname="maxUploadSize"value="10485760"/><!--10M-->
</bean>

(2)文件上傳表單和結果展示頁fileupload.jsp:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglibprefix="mvc"uri="http://www.springframework.org/tags/form"%>
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>SpringMVC文件上傳</title>
</head>
<body>
<h2>圖片文件上傳</h2>
<mvc:formmodelAttribute="user"action="upload.html"
enctype="multipart/form-data">
<table>
<tr>
<td>用戶名:</td>
<td><mvc:inputpath="userName"/></td>
</tr>
<tr>
<td>選擇頭像:</td>
<td><inputtype="file"name="file"/></td>
</tr>
<tr>
<tdcolspan="2"><inputtype="submit"value="Submit"/></td>
</tr>
</table>
</mvc:form>
<br><br>
<c:iftest="${u!=null}">
<h2>上傳結果</h2>
<table>
<c:iftest="${u.userName!=null}">
<tr>
<td>用戶名:</td>
<td>${u.userName}</td>
</tr>
</c:if>
<c:iftest="${u.logoSrc!=null}">
<tr>
<td>頭像:</td>
<td><imgsrc="${u.logoSrc}"width="100px"height="100px"></td>
</tr>
</c:if>

</table>

</c:if>

</body>
</html>

(3)後台處理UploadController.java:

packagecn.zifangsky.controller;

importjava.io.File;
importjava.io.IOException;

importjavax.servlet.http.HttpServletRequest;

importorg.apache.commons.io.FileUtils;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.multipart.MultipartFile;
importorg.springframework.web.servlet.ModelAndView;

importcn.zifangsky.model.User;
importcn.zifangsky.utils.StringUtile;

@Controller
publicclassUploadController{

@RequestMapping(value="/form")
publicModelAndViewform(){
ModelAndViewmodelAndView=newModelAndView("fileupload","user",newUser());

returnmodelAndView;
}

@RequestMapping(value="/upload",method=RequestMethod.POST)
publicModelAndViewupload(Useruser,@RequestParam("file")MultipartFiletmpFile,HttpServletRequestrequest){
ModelAndViewmodelAndView=newModelAndView("fileupload");

if(tmpFile!=null){
//獲取物理路徑
StringtargetDirectory=request.getSession().getServletContext().getRealPath("/uploads");
StringtmpFileName=tmpFile.getOriginalFilename();//上傳的文件名
intdot=tmpFileName.lastIndexOf('.');
Stringext="";//文件後綴名
if((dot>-1)&&(dot<(tmpFileName.length()-1))){
ext=tmpFileName.substring(dot+1);
}
//其他文件格式不處理
if("png".equalsIgnoreCase(ext)||"jpg".equalsIgnoreCase(ext)||"gif".equalsIgnoreCase(ext)){
//重命名上傳的文件名
StringtargetFileName=StringUtile.renameFileName(tmpFileName);
//保存的新文件
Filetarget=newFile(targetDirectory,targetFileName);

try{
//保存文件
FileUtils.InputStreamToFile(tmpFile.getInputStream(),target);
}catch(IOExceptione){
e.printStackTrace();
}

Useru=newUser();
u.setUserName(user.getUserName());
u.setLogoSrc(request.getContextPath()+"/uploads/"+targetFileName);

modelAndView.addObject("u",u);
}

returnmodelAndView;
}

returnmodelAndView;
}

}

在上面的upload方法中,為了接收上傳的文件,因此使用了一個MultipartFile類型的變數來接收上傳的臨時文件,同時為了給文件進行重命名,我調用了一個renameFileName方法,這個方法的具體內容如下:

/**
*文件重命名
*/
(StringfileName){
StringformatDate=newSimpleDateFormat("yyMMddHHmmss").format(newDate());//當前時間字元串
intrandom=newRandom().nextInt(10000);
Stringextension=fileName.substring(fileName.lastIndexOf("."));//文件後綴

returnformatDate+random+extension;
}

註:上面用到的model——User.java:

packagecn.zifangsky.model;

publicclassUser{
privateStringuserName;//用戶名
privateStringlogoSrc;//頭像地址

publicStringgetUserName(){
returnuserName;
}

publicvoidsetUserName(StringuserName){
this.userName=userName;
}

publicStringgetLogoSrc(){
returnlogoSrc;
}

publicvoidsetLogoSrc(StringlogoSrc){
this.logoSrc=logoSrc;
}

}

至此全部結束

效果如下:

(PS:純手打,望採納)

❹ 在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 參數獲取上傳的文件,文件路徑問題

重新說明一下,之前我測試用的是谷歌瀏覽器不是IE。在IE中file.FileName包含路徑名的,而谷歌不包含。所以我之前的回答中才會說文件名中不包含路徑名,我想你問題就是這個引起的。你可以在保存前加個判斷:
string fileName = file.FileName;
if (fileName.LastIndexOf("\\") > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
這樣就Ok了,同時兼容谷歌和IE

熱點內容
安卓手機中的投影在哪裡 發布:2025-02-05 08:01:57 瀏覽:594
php調用定義函數 發布:2025-02-05 08:00:30 瀏覽:451
ubuntujava環境變數 發布:2025-02-05 07:57:13 瀏覽:442
sql語句on 發布:2025-02-05 07:41:42 瀏覽:597
取消電腦密碼怎麼設置8 發布:2025-02-05 07:24:16 瀏覽:393
洗腦編程 發布:2025-02-05 07:23:52 瀏覽:948
osd加密 發布:2025-02-05 07:17:39 瀏覽:36
微信游戲源碼下載 發布:2025-02-05 07:17:29 瀏覽:384
計算機內存儲器是 發布:2025-02-05 07:13:35 瀏覽:144
classpathlinux 發布:2025-02-05 07:12:57 瀏覽:564