form自動上傳文件
Ⅰ asp 提交表單和上傳文件
asp.net和asp上傳方式基本相似。都需要使用到form表單。下面分別介紹asp和asp.net兩種文件上傳方式。
第一種:asp方式
首先建立form表單
<form name="form1" method="post" action="send.asp"enctype="multipart/form-data">
<input name="title" type="text"/>
<input name="uploadimg" type="file" />
<input name="submit" type="submit" value="提交"/>
</form>
asp的表單一定要注意加上enctype="multipart/form-data"這個屬性,否則是上傳不了圖片的,這個屬性很關鍵。
上傳處理代碼也就是send.asp的處理代碼。
因為asp本身沒有上傳的組件或控制項,這里只能藉助第三方式的組件或類。上傳組件推薦使用aspJpeg組件,這個組件不僅可以上傳文件,如果是圖片的話,可以調節尺寸尺寸,創建縮略圖等。很方便,目前一般的空間商都支持這個組件,另外就是使用組件上傳類,像風聲,無懼等,都是無組件上傳。
上傳代碼,這里假設採用的是風聲無組件上傳類。類文件已經包含進去。
<include file="uploadclass.asp"-->
處理代碼:
先初始化上傳類
dim myrequest
set myrequest = new UpLoadClass
設置屬性:
myrequest.FileType="gif,jpeg,jpg,png" //設置上傳類型
myrequest.SavePath="../upload/" //設置上傳路徑
myrequest.MaxSize=100*1024 //設置上傳文件的大小,
myrequest.AutoSave=1 //設置保存方式,為1表示自動保存
myrequest.Open //打開文件流
title =myrequest.form("title")
img =myrequest.form("uploadimg") //這兩部表示接收form表單中的數據。不 能再用request.form或request.querystring來接收了,必須用剛才初始化的對象
myrequest來接收。
現在數據接收到了,剩下的就是保存到資料庫。這和常用的數據保存方式一下的,拼接SQL.然後再執行,這里不贅述。
第二種asp.net方式。
asp.net方式,因為採用的是伺服器控制項,所以與asp有點區別。
首先是form不同,asp.net的form是伺服器控制項,需要添加ID和runat="Server"如
<form name="form1" ID="form1" runat="Server">
<asp:FileUpload ID="FileUpload1"runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上傳" /></form>
處理代碼,上傳並保存代碼
protectedvoidButton1_Click(objectsender, EventArgs e)
{
StringsavePath = Server.MapPath("upload");
if(FileUpload1.HasFile)
{
Stringfilename;
filename = FileUpload1.FileName;
savePath +=filename;
FileUpload1.SaveAs(savePath);
Page.Response.Write(FileUpload1.PostedFile.ContentType + FileUpload1.PostedFile.ContentLength+"<br>");
Page.Response.Write("<img src='"+savePath+"'>");}
else
{
Page.Response.Write("fff");
}
}
asp提交和上傳文件,與asp.net是不同的。一個是html標簽,一個是伺服器控制項。相對來說,asp.net的文件上傳比asp簡單很多,因為asp.net提供了相對應的上傳控制項。而asp沒有。只有採用第三方組件或無組件上傳類。上傳文件成功後,另外還可以加入更多的處理元素,如圖片入庫,加上水印等,這需要你自己去思考和查找資料了。
Ⅱ 使用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)]
更多用法可以 參考官網
Ⅲ 怎麼在form里分別上傳多個文件,如圖
可以用iframe上傳,orm表單的method、 enctype屬性必須和下面代碼一樣。然後將target的值設為iframe的name,這樣就可以實現無刷新上傳文件。
<form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload">
<iframe name="iframeUpload" src="" width="350" height="35" frameborder=0 SCROLLING="no" style="display:NONE"></iframe>
<input id="test_file" name="test_file" type="file">
<input value="上傳文件" type="submit">
</form>
Ⅳ 如何不用submit提交上傳文件form
document.forms["form1"].submit();
Ⅳ 如何實現C#文件自動上傳
在Web編程中,我們常需要把一些本地文件上傳到Web伺服器上,上傳後,用戶可以通過瀏覽器方便地瀏覽這些文件,應用十分廣泛。
首先,在你的VisualC#webproject中增加一個上傳用的WebForm,為了要上傳文件,需要在ToolBox中選擇HTML類的FileField控制項,將此控制項加入到WebForm中,然而此時該控制項還不是服務端控制項,我們需要為它加上如下一段代碼:<inputid=uploadfile1type=filesize=49runat=server>,這樣它就成為服務端控制項了,如果需要同時上傳數個文件時,我們可以相應增加此控制項。
需要注意的是代碼中一定要把<form>的屬性設置成為:
<formmethod=postencType=multipart/form-datarunat=server>
如果沒有這個屬性,就不能實現上傳。
然後在此WebForm中增加一個WebForm類的Button,雙擊Button添加如下代碼:
//上傳圖片的程序段
DateTimenow=DateTime.Now;
//取現在時間到DataTime類的對象now中
stringstrBaseLocation=D:\\web\\FC\\pic\\;
//這是文件將上傳到的伺服器的絕對目錄
if(uploadfile1.PostedFile.ContentLength!=0)//判斷選取對話框選取的文件長度是否為0
{uploadfile1.PostedFile.SaveAs(strBaseLocation+now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg);
//執行上傳,並自動根據日期和文件大小不同為文件命名,確保不重復
Label1.Text=圖片1已經上傳,文件名為:+now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg;
navigator.Insert(System.Xml.TreePosition.After,XmlNodeType.Element,pic1,,);
navigator.Insert(System.Xml.TreePosition.FirstChild,XmlNodeType.Text,pic1,,);
navigator.Value=now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg;
navigator.MoveToParent();}
上面的代碼用於筆者開發的一個使用XML文件存儲新聞信息的系統中,後面幾句代碼作用是寫上傳文件信息到XML文件中。如果要上傳其他類型文件,只需要將jpg改為相應類型的後綴名即可,如改為doc即可上傳Word文件,瀏覽器即可直接瀏覽上傳的Word文件。
【注意事項】
1.上傳文件不可以無限大;
2.要注意IIS的安全性方面的配合;
3.用VisualStudio的安裝項目做安裝程序的時候,請注意安裝程序所在的絕對路徑問題;
4.注意文件上傳後的重名問題。