導航:首頁 > 版本升級 > jqueryformjs文件上傳

jqueryformjs文件上傳

發布時間:2025-03-02 20:12:36

① 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>

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

② js文件上傳fileupload(js文件上傳後端是如何拿到文件的)

js如何上傳文件

方式一:事先寫好多個input.在點擊時才顯示。也就是說上傳的最大個數是寫死了的。

第六步:上傳文件點擊確定按鈕,即可將文件上傳到本地磁碟,上傳成功後自動跳轉到根目錄。

既然可以循環多文件的話,就可以嘗試多文件上傳了。首先創建XMLHttpRequest對象//這是全局變數。

怎樣用JS控制文件上傳時FILE控制項內默認的文件類型

accept屬性只能與配合使用。它規定能夠通過文件上傳進行提交的文件類型。提示:請避免使用該屬性。應該在伺服器端驗證文件上傳。

,文件類型:+file.type+,文件大小:+file.sizedocument.body.appendChild(div)}}既然可以循環多文件的話,就可以嘗試多文件上傳了。首先創建XMLHttpRequest對象//這是全局變數。

js採用FileAPI來上傳文件的。FileAPI由一組javaScript對象以及事件構成。賦予開發人員操作在文件選擇控制項中選定文件的能力。圖1展示了FileAPI所有的JavaScript的組合關系。

你要上傳的文件是什麼格式,在js裡面添加這個這個格式的後綴。

jquery.fileUpload.js文件上傳問題

可能是上傳的文件太大,你換一個小一點的看看,幾百k的。或者開啟一下你後端語言的錯誤提示,看下是什麼錯誤。

要實現下面這樣一個js方法:file_upload(文件內容,URL){//用jQuery將文件內容傳送至URL...}不用任何jQuery插件,請問如何實現上述功能。

ajaxFileUpload是一個非同步上傳文件的jQuery插件,語法:$.ajaxFileUpload([options])。使用方法:第一步:先引入jQuery與ajaxFileUpload插件。注意先後順序。

我的理解是你應該先通過圖片上傳介面把圖片上傳到伺服器上(上傳後的伺服器端的圖片地址,保存到里),然後再統一提交所有的表單項。

獲取jQuery集合的某一項對於獲取的元素集合,獲取其中的某一項(通過索引指定)可以使用eq或get(n)方法或者索引號獲取,要注意,eq返回的是jquery對象,而get(n)和索引返回的是dom元素對象。

我使用了ajaxFileUpload這個js來實現不藉助form表單的不刷新頁面提交文件的功能(但是其實這個js內部還是用的是form表單提交的233,偽ajax,和jQueryajax是不一樣的)。

我需要一個js或者jquery能批量上傳圖片+預覽的功能。急~~~急~~~急...

//初始化WebUploadervaruploader=WebUploader.create({//選完文件後,是否自動上傳。auto:true,//swf文件路徑swf:BASE_URL+/js/Uploader.swf,//文件接收服務端。

本地預覽肯定是不行的,這是瀏覽器出於安全考慮的限制。不過可以使用偽ajax見把圖片上傳到伺服器,然後在預覽。

批量上傳?js就用Jquery上傳控制項吧(開源社區裡面有例子)。

可以批量上傳圖片什麼的以及可以預覽的都是用flash來實現的js最多隻能單張上傳,還不能預覽。

分片與並發結合,將一個大文件分割成多塊,並發上傳,極大地提高大文件的上傳速度。當網路問題導致傳輸錯誤時,只需要重傳出錯分片,而不是整個文件。另外分片傳輸能夠更加實時的跟蹤上傳進度。

③ jquery.fileUpload.js文件上傳問題

了解,fileuploader方法需要先初始化,然後才能觸發上傳,並不需要你手動觸發change事件

你只版需

html

<form>
file:<inputtype="file"id="file"name="file">
</form>

js

$('#file').on('change',function(){
//這里可權以做校驗,返回false就不會觸發下面的上傳插件,否則就會觸發上傳
if(!this.value||this.value.indexOf('.jpg')==-1){
returnfalse;
}
});

//初始化上傳插件
$('#file').fileupload({
autoUpload:true,//這里為true,則選中文件後就會自動上傳
url:'',
done:$.noop,
fail:$.noop
});

④ 用jquery如何實現提交表單點擊提交之後顯示正在上傳中,之後顯示上傳成功的效果

需要准備的材料分別有:電腦、html編輯器、瀏覽器。

1、首先,打開html編輯器,新建html文件,回例如答:index.html,並引入jquery。

⑤ js文件上傳的幾種方式(js文件上傳)

javaweb前端上傳文件到後台常用的幾種方式

1、使用form表單提交

但是這里要記得添加enctype屬性,這個屬性是指定form表單在向伺服器提交之前,對表單數據如何進行編碼。文件域中的name="file"屬性的值,需要和後台接收的對象名一致,不然接收不到。

2、使用ajax提交文件

使用ajax提交首先引入jquery-form.js文件才能實現,接著使用上面的html代碼,加入以js則可以實現ajax提交文件。

3、使用FormData對象

4、後台接收文件,框架採用的SpringBoot微服務框架,因為該框架搭建很方便所以採用這個框架寫例子。

js如何上傳文件

js採用FileAPI來上傳文件的。

FileAPI由一組JavaScript對象以及事件構成。賦予開發人員操作在inputtype=」file」…/文件選擇控制項中選定文件的能力。圖1展示了FileAPI所有的JavaScript的組合關系。

FileAPI簡單示例

body

h1FileAPIDemo/h1

p

!--用於文件上傳的表單元素--

formname="demoForm"id="demoForm"method="post"enctype="multipart/form-data"

action="javascript:uploadAndSubmit();"

pUploadFile:inputtype="file"name="file"//p

pinputtype="submit"value="Submit"//p

/form

divProgessing(inBytes):spanid="bytesRead"

/span/spanid="bytesTotal"/span

/div

/p

/body

運行效果:

幾種js實現的動態多文件上傳

方式一:事先寫好多個input.在點擊時才顯示。也就是說上傳的最大個數是寫死了的。

html

p

ahref='#'onclick='javascript:viewnone(more1)'添加附件/a

divid='more1'style='display:none'

inputtype="file"name="attach1"size="50"javascript:viewnone(more2)

/span

/div

divid='more2'style='display:none'

inputtype="file"name="attach2"size="50"'

/div

/p

js

SCRIPTlanguage="javascript"

functionviewnone(e){

e.style.display=(e.style.display=="none")?"":"none";

}

/script

方式二:這種方式的動態多文件上傳是實現了的,很簡單的,不說廢話看code

html

inputtype="button"name="button"value="添加附件"onclick="addInput()"

inputtype="button"name="button"value="刪除附件"onclick="deleteInput()"

spanid="upload"/span

js

scripttype="text/javascript"

varattachname="attach";

vari=1;

functionaddInput(){

if(i0){

varattach=attachname+i;

if(createInput(attach))

i=i+1;

}

}

functiondeleteInput(){

if(i1){

i=i-1;

if(!removeInput())

i=i+1;

}

}

functioncreateInput(nm){

varaElement=document.createElement("input");

aElement.name=nm;

aElement.id=nm;

aElement.type="file";

aElement.size="50";

//aElement.value="thanks";

//aElement.onclick=Function("asdf()");

if(document.getElementById("upload").appendChild(aElement)==null)

returnfalse;

returntrue;

}

functionremoveInput(nm){

varaElement=document.getElementById("upload");

if(aElement.removeChild(aElement.lastChild)==null)

returnfalse;

returntrue;

}

/script

方式三:動態多文件上傳,只是在oFileInput.click();這個地方,這樣做就不能上傳這個文件了,因為發現它在上傳之時就把這個input中的文件置空了。很可能是為了安全著想吧!

另外還有一點就是說,click()只有在ie中才能正常運行。

雖說這種方式最終沒能實現上傳,但還是留下來參考,看看是否有人可以真正實現上傳。

html

Ahref="javascript:newUpload();"添加附件/A

TABLEwidth="100%"border="0"cellpadding="0"cellspacing="1"

TBODYid="fileList"/TBODY

/TABLE

DIVid="uploadFiles"style="display:block"/DIV

js

SCRIPTlanguage="javascript"

//---新建上傳

functionnewUpload(){

varoFileList=document.getElementById("fileList");

varfileCount=oFileList.childNodes.length+1;

varoFileInput=newFileInput("upfile_"+fileCount);

if(selectFile(oFileInput)){

addFile(oFileInput);

}

}

//----選擇文件

functionselectFile(oFileInput){

varoUploadFiles=document.getElementById("uploadFiles");

oUploadFiles.appendChild(oFileInput);

oFileInput.focus();

oFileInput.click();//不能這樣做,可能是為了安全著想吧!

varfileValue=oFileInput.value;

if(fileValue==""){

oUploadFiles.removeChild(oFileInput);

returnfalse;

}

else

returntrue;

}

//---新建一個文件顯示列表

functionaddFile(oFileInput){

varoFileList=document.getElementById("fileList");

varfileIndex=oFileList.childNodes.length+1;

varoTR=document.createElement("TR");

varoTD1=document.createElement("TD");

varoTD2=document.createElement("TD");

oTR.setAttribute("id","file_"+fileIndex);

oTR.setAttribute("bgcolor","#FFFFFF");

oTD1.setAttribute("width","6%");

oTD2.setAttribute("width","94%");

oTD2.setAttribute("align","left");

oTD2.innerText=oFileInput.value;

oTD1.innerHTML='Ahref="javascript:removeFile('+fileIndex+');"刪除/A'

oTR.appendChild(oTD1);

oTR.appendChild(oTD2);

oFileList.appendChild(oTR);

}

//---移除上傳的文件

functionremoveFile(fileIndex){

varoFileInput=document.getElementById("upfile_"+fileIndex);

varoTR=document.getElementById("file_"+fileIndex);

uploadFiles.removeChild(oFileInput);

fileList.removeChild(oTR);

}

//---創建一個fileinput對象並返回

functionnewFileInput(_name){

varoFileInput=document.createElement("INPUT");

oFileInput.type="file";

oFileInput.id=_name;

oFileInput.name=_name;

oFileInput.size="50";

//oFileInput.setAttribute("id",_name);

//oFileInput.setAttribute("name",_name);

//oFileInput.outerHTML='INPUTtype=fileid='+_name+'name='+_name+''

//alert(oFileInput.outerHTML);

returnoFileInput;

}

/SCRIPT

⑥ jqueryajax不能上傳圖片

不能上傳的原因可能是jquery插件使用不正確。

解決方法:

1、在head之間加入jquery引用

<scripttype="text/javascript" src="jquery.js"></script>

<scriptsrc="project/js/jquery.form.js" type="text/javascript"></script>

<scriptsrc="project/js/fileload.js" type="text/javascript"></script>

2、定義fileload.js,代碼如下:

function createHtml(obj) {
var htmstr = [];
htmstr.push( "<form id='_fileForm' enctype='multipart/form-data'>");
htmstr.push( "<table cellspacing="0" cellpadding="3" style="margin:0 auto; margin-top:20px;">");
htmstr.push( "<tr>");
htmstr.push( "<td class="tdt tdl">請選擇文件:</td>");
htmstr.push( "<td class="tdt tdl"><input id="loadcontrol" type="file" name="filepath" id="filepath" /></td>");
htmstr.push( "<td class="tdt tdl tdr"><input type="button" onclick="fileloadon()" value="上傳"/></td>");
htmstr.push( "</tr>");
htmstr.push( "<tr> <td class="tdt tdl tdr" colspan='3'style='text-align:center;'><div id="msg">&nbsp;</div></td> </tr>");
htmstr.push( "<tr> <td class="tdt tdl tdr" style=" vertical-align:middle;">圖片預覽:</td> <td class="tdt tdl tdr" colspan="2"><div style="text-align:center;"><img src="project/Images/NoPhoto.jpg"/></div></td> </tr>");
htmstr.push( "</table>")
htmstr.push( "</form>");
obj.html(htmstr.join(""));
}

function fileloadon() {
$("#msg").html("");
$("img").attr({ "src": "project/Images/processing.gif" });
$("#_fileForm").submit(function () {
$("#_fileForm").ajaxSubmit({
type: "post",
url: "project/help.aspx",
success: function (data1) {
var remsg = data1.split("|");
var name = remsg[1].split("/");
if (remsg[0] == "1") {
var type = name[4].substring(name[4].indexOf("."), name[4].length);
$("#msg").html("文件名:" + name[name.length - 1] + " --- " + remsg[2]);
switch (type) {
case ".jpg":
case ".jpeg":
case ".gif":
case ".bmp":
case ".png":
$("img").attr({ "src": remsg[1] });
break;
default:
$("img").attr({ "src": "project/Images/msg_ok.png" });
break;
}
} else {
$("#msg").html("文件上傳失敗:" + remsg[2]);
$("img").attr({ "src": "project/Images/msg_error.png" });
}
},
error: function (msg) {
alert("文件上傳失敗");
}
});
return false;
});
$("#_fileForm").submit();
}

3、服務端處理上傳。

protected void Page_Load(object sender, EventArgs e)
{
try
{
HttpPostedFile postFile = Request.Files[0];
//開始上傳
string _savedFileResult = UpLoadFile(postFile);
Response.Write(_savedFileResult);

}
catch(Exception ex)
{
Response.Write("0|error|上傳提交出錯");
}

}
public string UpLoadFile(HttpPostedFile str)
{
return UpLoadFile(str, "/UpLoadFile/");
}
public string UpLoadFile(HttpPostedFile httpFile, string toFilePath)
{
try
{
//獲取要保存的文件信息
string filerealname = httpFile.FileName;
//獲得文件擴展名
string fileNameExt = System.IO.Path.GetExtension(filerealname);
if (CheckFileExt(fileNameExt))
{
//檢查保存的路徑 是否有/結尾
if (toFilePath.EndsWith("/") == false) toFilePath = toFilePath + "/";

//按日期歸類保存
string datePath = DateTime.Now.ToString("yyyyMM") + "/" + DateTime.Now.ToString("dd") + "/";
if (true)
{
toFilePath += datePath;
}

//物理完整路徑
string toFileFullPath = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + toFilePath;

//檢查是否有該路徑 沒有就創建
if (!System.IO.Directory.Exists(toFileFullPath))
{
Directory.CreateDirectory(toFileFullPath);
}

//得到伺服器文件保存路徑
string toFile = Server.MapPath("~" + toFilePath);
string f_file = getName(filerealname);
//將文件保存至伺服器
httpFile.SaveAs(toFile + f_file);
return "1|" + toFilePath + f_file + "|" + "文件上傳成功";
}
else
{
return "0|errorfile|" + "文件不合法";
}
}
catch (Exception e)
{
return "0|errorfile|" + "文件上傳失敗,錯誤原因:" + e.Message;
}
}

/// <summary>
/// 獲取文件名
/// </summary>
/// <param name="fileNamePath"></param>
/// <returns></returns>
private string getName(string fileNamePath)
{
string[] name = fileNamePath.Split('\');
return name[name.Length - 1];
}
/// <summary>
/// 檢查是否為合法的上傳文件
/// </summary>
/// <param name="_fileExt"></param>
/// <returns></returns>
private bool CheckFileExt(string _fileExt)
{
string[] allowExt = new string[] { ".gif", ".jpg", ".jpeg", ".rar",".png" };
for (int i = 0; i < allowExt.Length; i++)
{
if (allowExt[i] == _fileExt) { return true; }
}
return false;

}

public static string GetFileName()
{
Random rd = new Random();
StringBuilder serial = new StringBuilder();
serial.Append(DateTime.Now.ToString("HHmmss"));
serial.Append(rd.Next(100, 999).ToString());
return serial.ToString();
}

4、運行defualt.aspx頁面以後顯示的效果是:

⑦ 使用jquery.form.js實現文件上傳及進度條前端代碼

ajax的表單提交只能提交data數據到後台,沒法實現file文件的上傳還有展示進度功能,這里用到form.js的插件來實現,搭配css樣式簡單易上手,而且高大上,推薦使用。

需要解釋下我的結構, #upload-input-file 的input標簽是真實的文件上傳按鈕,包裹form標簽後可以實現上傳功能, #upload-input-btn 的button標簽是展示給用戶的按鈕,因為需要樣式的美化。上傳完成生成的文件名將會顯示在 .upload-file-result 裡面, .progress 是進度條的位置,先讓他隱藏加上 hidden 的class, .progress-bar 是進度條的主體, .progress-bar-status 是進度條的文本提醒。

去掉hidden的class,看到的效果是這樣的
[圖片上傳失敗...(image-2c700a-1548557865446)]

將上傳事件綁定在file的input裡面,綁定方式就隨意了。
var progress = $(".progress-bar"), status = $(".progress-bar-status"), percentVal = '0%'; //上傳步驟 $("#myupload").ajaxSubmit({ url: uploadUrl, type: "POST", dataType: 'json', beforeSend: function () { $(".progress").removeClass("hidden"); progress.width(percentVal); status.html(percentVal); }, uploadProgress: function (event, position, total, percentComplete) { percentVal = percentComplete + '%'; progress.width(percentVal); status.html(percentVal); console.log(percentVal, position, total); }, success: function (result) { percentVal = '100%'; progress.width(percentVal); status.html(percentVal); //獲取上傳文件信息 uploadFileResult.push(result); // console.log(uploadFileResult); $(".upload-file-result").html(result.name); $("#upload-input-file").val(''); }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.log(errorThrown); $(".upload-file-result").empty(); } });

[圖片上傳失敗...(image-3d6ae0-1548557865446)]

[圖片上傳失敗...(image-9f0adf-1548557865446)]

更多用法可以 參考官網

閱讀全文

與jqueryformjs文件上傳相關的資料

熱點內容
手機短息發的鏈接病毒蘋果手機 瀏覽:724
win10專業忘記家庭組密碼 瀏覽:176
南寧applestore幾樓 瀏覽:296
java字元串怎麼初始化 瀏覽:349
醫美哪個app好 瀏覽:768
代碼編程和機器人編程哪個好 瀏覽:875
90版本男法 瀏覽:796
win10桌面字體難看 瀏覽:848
三菱fx5u支持哪些編程 瀏覽:7
優酷在文件夾在哪裡 瀏覽:91
趣列印的數據文件是什麼 瀏覽:871
linuxjava程序 瀏覽:483
蘋果6splus數據線圖片 瀏覽:98
蘋果官網數據如何恢復 瀏覽:251
spss怎麼拆分數據 瀏覽:306
photoshop復位所有工具 瀏覽:492
迅雷上的文件在哪裡 瀏覽:988
怎麼舉報正在訪問網站 瀏覽:512
expressionblend視頻教程 瀏覽:795
怎麼查找視頻文件 瀏覽:283

友情鏈接