當前位置:首頁 » 文件管理 » cmvc上傳圖片

cmvc上傳圖片

發布時間: 2023-04-02 09:22:26

java-SpringMVC 後台怎麼獲取前台jsp頁面中file中的文件

1.打開SpringMVC的文件上傳功能:***-servlet.xml中配置

❷ C#使用HTML文件中的file文件上傳,用C#代碼接收上傳文件

<formid="form1"method="post"enctype="multipart/form-data"action="test.aspx">
<inputid="File1"type="file"name="File1"/>
<inputid="Submit1"type="submit"value="submit"/>
</form>

c# 代碼 test.aspx.cs後台代碼如下:

usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;


publicpartialclasstest:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Request.Files.Count>0)
{
HttpPostedFilef=Request.Files[0];
f.SaveAs(Server.MapPath("test.dat"));
}
}
}

❸ MVC與BS的區別,他們的優點及劣勢是什麼

對象不同:

MVC包括三類對象,Model是應用對象、View為其屏幕表示、Controller定義了對用戶輸入的處理方式。在應用MVC方式以前,通常將這三個對象的功能合到了一起,應用MVC分離了它們,為設計提供了靈活性和可重用性。

MVC設計模式是目前最流行的Web應用設計模式,給項目代碼的管理和維護帶來了很大的便利。

結構不同:

B/S結構(Browser/Server結構)結構即瀏覽器和伺服器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。

在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在伺服器端(Server)實現,形成所謂三層3-tier結構。

BS優點:可以在任何地方進行操作而不用安裝任何專門的軟體。系統的擴展非常容易,只要能上網,再由系統管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內部的安全認證(如CA證書)後,不需要人的參與,系統可以自動分配給用戶一個賬號進入系統。

BS缺點:個性化特點明顯降低,無法實現具有個性化的功能要求。BS操作是以滑鼠為最基本的操作方式,無法滿足快速操作的要求。BS頁面動態刷新,響應速度明顯降低。BS無法實現分頁顯示,給資料庫訪問造成較大的壓力。BS功能弱化,難以實現傳統模式下的特殊功能要求。

MVC優點:各施其職,互不幹涉;在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發生了變化,就只需要更改相應的層中的代碼而不會影響到其它層中的代碼。

MVC缺點:增加了系統結構和實現的復雜性。對於簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結構的復雜性,並可能產生過多的更新操作,降低運行效率。

❹ 國內最好的Java培訓機構有哪些

我覺得國內最好的Java培訓機構有很多,我們在選擇的過程中一定要仔細偵察,通常要注意以下幾點:

1.師資水平

好的老師都是從事相關工作多年,具有極高的教學體系,教出去的學員基本上都能找到工作,這類老師是值得信任的。但市面上並不缺少被包裝的老師,遇到這類機構我們在前期就需要先觀察試聽課程。

2.機構口碑

一般做的不錯的培訓機構都會注重自己的口碑,這點最主要體現的就是師資力量,只有教出很好的學員,在進入社會找到不錯的工作才會對該機構給出不錯的評價。

3.機構區別

市面上的培訓機構主要分線上及線下,線上培訓收費在3千-1萬之間,線下培訓收費基本上在兩萬左右。(切記不要貸款培訓)

選擇機構一定要多去對比,不能選擇一些皮包機構,因為市面上的培訓機構在學員畢業出來是沒有什麼包就業這一說,最多就是推薦就業。

然而關於培訓機構我覺得AAA就很不錯,目前已在北京、鄭州、深圳、武漢、沈陽、上海等全國主要城市開設直營教學中心和就業基地。在AAA未來的戰略藍圖中,杭州、西安等教學中心也在計劃籌建中。14年來,AAA教育集團已成功幫助數萬學子進入IT軟體行業。學員畢業後大多進入阿里巴巴、京東、網路、新浪、雲智慧、易酒批、數獵天下、廣聯達等知名IT企業,深受企業歡迎。

❺ spring mvc 怎麼大小上傳文件控制

1、SpringMVC的配置文件裡面可以配置限制上傳文件的大小,比如40MB,但是,如果在頁面上上傳超過40MB ,則他都不進入到Action,則直接就報錯了。被攔截了。

2、客戶端判斷的話,IE8、IE9、火狐好像支持都不一樣,有說用Flash的,有說用HTML5的,
個人感覺HTML5不太靠譜,畢竟現在的應用肯定是要支持IE8、IE9的。

❻ C# mvc 前台請求已經是post請求,但是還會報錯 因為當用在 GET 請求中時,會將敏感信息透漏給第三方

根據你目扮型前提供的信息,不太好判斷具體是什麼原因,我猜測可能是下面原因造成的,你自己排查一下

1、使用的上傳組沖虛件是否支持POST傳輸,或者是否是設置參數不匹配,未識別
2、IIS的設置里是否存在問題,開發和部署後的區別,最大部分就是廳判猜中間件不一樣了,IIS的不同版本的設置也存在差異,可以在確認一下
3、你可以用POSTMAN試一下你的後台服務,分別試試GET傳輸模式和POST傳輸模式,如果POST模式下還有問題,那就不是前台的問題了,很可能是後台設置的問題

❼ 如何在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:純手打,望採納)

❽ MultipartFile上傳文件資料庫保存進了但是target裡面沒有圖片

這里,我只想總結一下我一下午研究文件上傳,圖片上傳功能的思考。也許花費了很多時間,但還是覺得比較值的。

以前一直聽說過「項目使用的所有圖片應該保存在圖片伺服器上,」一直看過這樣的代碼:Java後端由各種流組成的處理圖片或著文件的方法。當時其實都是朦朧的,似懂非懂的樣子。現在或許是有那麼的一點理解了:當項目或者具體說頁面中存在大量的圖片時,頁面的載入可能會很慢,這時,可能就需要使用一個獨立的伺服器來專門的讀取這些圖片了, 所以才有了圖片伺服器的說法。(或許是這樣)。

圖片上傳功能的具體實現(當然文件也一樣):

總的來說是這樣的, 我們在頁面上通過按鈕獲取到某張圖片後,會顯示在頁面上(如果你需要的話),顯示的可以是圖片本身,或者是圖片的名字。然後通過ajax,把圖片傳到了Java後台,(以什麼格式我還不清楚),根據我這一下午的實踐,MultipartFile ,這個類可以完全接收到前台傳過來的圖片數據。,這里也許有人會問, 傳到後台幹嘛呢。假設你的前端調用的不是你本項目的Java後台代碼,而是另外一個介面Api項目的話, 那麼,其實,這個APi項目就可以當作一個圖片伺服器了。額,這里僅僅是臨時保存了圖片而已,就頁面而言,如果是表單,你還需要提交表單。那麼表單提交時,你還會保存圖片嗎?應該是存圖片在伺服器上的地址吧。

MultipartFile 通過 MultipartFile .transferTo( new File()), 僅需要這步驟,就可以把圖片存到伺服器所在的電腦的任意一個盤或者路徑裡面。 其實這個很簡單,難是難在 文件的創建。(坑了我很久),

new File("d:/test1/test2/test3/demo.png"), 類似要創建這樣的 File文件時, 你要先判斷demo.png 的父級路徑是否存在,如果不存在則要先創建。否則你也許會報一個錯誤,「java.io.FileNotFoundException 拒絕訪問」.

也許廢話說了很多,下面直接上示例代碼, 本實例代碼親測有效可用。本實例 前端採用layui + 後端 springMVC+MultipartFile

頁面.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>文件上傳demo</title>
<%@include file="/comm/mytags.jsp" %>
</head>
<body>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
<legend>常規使用:普通圖片

❾ Java中的MVC是什麼

一、什麼是MVC
Model:模型層
View:視圖層
Controller:控制層
MVC (Modal View Controler)本來是存在於Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發明的一種軟體設計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平台的設計模式,並且受到越來越多的使用 ColdFusion 和 PHP 的開發者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。

二、MVC如何工作

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。

視圖
視圖是用戶看到並與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services.

如何處理應用程序的界面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據並允許用戶操縱的方式。

模型
模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理資料庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。由於應用於模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。

控制器
控制器接受用戶的輸入並調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求並決定調用哪個模型構件去處理請求,然後用確定用哪個視圖來顯示模型處理返回的數據。

現在我們總結MVC的處理過程,首先控制器接收用戶的請求,並決定應該調用哪個模型來進行處理,然後模型用業務邏輯來處理用戶的請求並返回數據,最後控制器用相應的視圖格式化模型返回的數據,並通過表示層呈現給用戶。

三、為什麼要使用 MVC

大部分Web應用程序都是用像ASP,PHP,或者CFML這樣的過程化語言來創建的。它們將像資料庫查詢語句這樣的數據層代碼和像HTML這樣的表示層代碼混在一起。經驗比較豐富的開發者會將數據從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構造MVC應用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質疑的。

首先,最重要的一點是多個視圖能共享一個模型,正如我所提及的,現在需要用越來越多的方式來訪問你的應用程序。對此,其中一個解決之道是使用MVC,無論你的用戶想要Flash界面或是 WAP 界面;用一個模型就能處理它們。由於你已經將數據和業務規則從表示層分開,所以你可以最大化的重用你的代碼了。

由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同界面使用。例如,很多數據可能用HTML來表示,但是它們也有可能要用Macromedia Flash和WAP來表示。模型也有狀態管理和數據持久性處理的功能,例如,基於會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。

因為模型是自包含的,並且與控制器和視圖相分離,所以很容易改變你的應用程序的數據層和業務規則。如果你想把你的資料庫從MySQL移植到Oracle,或者改變你的基於RDBMS數據源到LDAP,只需改變你的模型即可。一旦你正確的實現了模型,不管你的數據來自資料庫或是LDAP伺服器,視圖將會正確的顯示它們。由於運用MVC的應用程序的三個部件是相互對立,改變其中一個不會影響其它兩個,所以依據這種設計思想你能構造良好的松偶合的構件。

對我來說,控制器的也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然後選擇視圖將處理結果顯示給用戶。

四、MVC的缺點
MVC的缺點是由於它沒有明確的定義,所以完全理解MVC並不是很容易。使用MVC需要精心的計劃,由於它的內部原理比較復雜,所以需要花費一些時間去思考。

你將不得不花費相當可觀的時間去考慮如何將MVC運用到你的應用程序,同時由於模型和視圖要嚴格的分離,這樣也給調試應用程序到來了一定的困難。每個構件在使用之前都需要經過徹底的測試。一旦你的構件經過了測試,你就可以毫無顧忌的重用它們了。

根據我個人經驗,由於我們將一個應用程序分成了三個部件,所以使用MVC同時也意味著你將要管理比以前更多的文件,這一點是顯而易見的。這樣好像我們的工作量增加了,但是請記住這比起它所能帶給我們的好處是不值一提。

MVC並不適合小型甚至中等規模的應用程序,花費大量時間將MVC應用到規模並不是很大的應用程序通常會得不償失。

五、MVC優點:MVC是一條創建軟體的好途徑
MVC設計模式是一個很好創建軟體的途徑,它所提倡的一些原則,像內容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構件,你可能需要重新思考你的應用程序,尤其是應用程序的構架方面。如果你肯接受MVC,並且有能力應付它所帶來的額外的工作和復雜性,MVC將會使你的軟體在健壯性,代碼重用和結構方面上一個新的台階。
希望對您有所幫助!~

❿ mvc視圖中怎麼上傳圖片並顯示

如果只是上傳的話那太容易了,如果還要顯示那就難了,因為要顯示的話就不能只向伺服器提交一次請求,必須非同步提交。下面的例子是我親自寫的,非同步提交上傳圖片並預覽。全部代碼都在。

返回到前台頁面的JSON格式對象是以類的對象。
publicclassReturnImage
{
publicstringbig{get;set;}
publicstringsmall{get;set;}
publicstringisSuccessfull{get;set;}
publicstringmessage{get;set;}
}

對於上傳和生成縮略圖,請自行完成,以下是ASP.NETMVC的例子。
publicclassHomeController:Controller
{
//
//GET:/Home/
publicActionResultIndex()
{
returnView();
}
///<summary>
///上傳圖片
///</summary>
///<returns></returns>
publicActionResultUploadImage()
{
//定義錯誤消息
JsonResultmsg=newJsonResult();
try
{
//接受上傳文件
HttpPostedFileBasepostFile=Request.Files["upImage"];
if(postFile!=null)
{
DateTimetime=DateTime.Now;
//獲取上傳目錄轉換為物理路徑
stringuploadPath=Server.MapPath("~/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/");
//文件名
stringfileName=time.ToString("yyyyMMddHHmmssfff");
//後綴名稱
stringfiletrype=System.IO.Path.GetExtension(postFile.FileName);
//獲取文件大小
longcontentLength=postFile.ContentLength;
//文件不能大於2M
if(contentLength<=1024*2048)
{
//如果不存在path目錄
if(!Directory.Exists(uploadPath))
{
//那麼就創建它
Directory.CreateDirectory(uploadPath);
}
//保存文件的物理路徑
stringsaveFile=uploadPath+fileName+"_big"+filetrype;
try
{
//保存文件
postFile.SaveAs(saveFile);
//保存縮略圖的物理路徑
stringsmall=uploadPath+fileName+"_small"+filetrype;
MakeThumbnail(saveFile,small,320,240,"W");
ReturnImageimage=newReturnImage();
image.big="/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/"+fileName+"_big"+filetrype;
image.small="/UploadFiles/"+time.Year+"/"+time.ToString("yyyyMMdd")+"/"+fileName+"_small"+filetrype;
msg=Json(image);
}
catch
{
msg=Json("上傳失敗");
}
}
else
{
msg=Json("文件大小超過限制要求");
}
}
else
{
msg=Json("請選擇文件");
}
}
catch(Exceptione)
{
;
}
msg.ContentType="text/html";
returnmsg;
}
///<summary>

由於回答超過最大限制,///生成縮略圖的代碼請向我索取

熱點內容
出c語言整除 發布:2024-03-29 14:28:22 瀏覽:571
芬尼壓縮機 發布:2024-03-29 14:24:11 瀏覽:463
電腦數據實時上傳本地伺服器軟體 發布:2024-03-29 14:07:57 瀏覽:919
尋秦記源碼 發布:2024-03-29 13:56:17 瀏覽:495
linux的備份命令 發布:2024-03-29 13:41:22 瀏覽:382
csgo建議什麼配置 發布:2024-03-29 13:31:44 瀏覽:979
電腦ftp服務如何禁用 發布:2024-03-29 13:24:48 瀏覽:332
驅動精靈驅動解壓 發布:2024-03-29 13:07:49 瀏覽:565
學編程好學嗎 發布:2024-03-29 13:07:34 瀏覽:440
python保存mp3文件 發布:2024-03-29 12:47:10 瀏覽:151