asp.net 多檔案上傳,相容IE6/7/8,提供完整代碼下載

來源:互聯網
上載者:User

最終效果如下:

現貼出核心代碼如下:
aspx裡的代碼: 複製代碼 代碼如下:<div style="text-align: center">
<div style="width: 200px;">
<input type="file" size="50" name="File" />
<span id="upload"></span>
<br />
<input type="button" name="button" value="添加檔案" onclick="addInput()">
<input type="button" name="button" value="刪除檔案" onclick="deleteInput()">
</div>
<div style="margin: 10px 0 10px 0;width: 200px;">
<asp:Button runat="server" Text="上傳" ID="btnUpload" OnClick="btnUpload_Click"></asp:Button><br/>
<asp:Label ID="strStatus" runat="server"></asp:Label>
</div>
</div>

在添加檔案和刪除檔案裡調用了Javascript,代碼如下:

複製代碼 代碼如下:<script type="text/javascript">
var attachname = "uploadfile";
var i = 1;
function addInput() {
if (i > 0) {
var attach = attachname + i;
if (createInput(attach))
i = i + 1;
}
}
function deleteInput() {
if (i > 1) {
i = i - 1;
if (!removeInput())
i = i + 1;
}
}
function createInput(nm) {
var aElement = document.createElement("input");
aElement.name = nm;
aElement.id = nm;
aElement.type = "file";
aElement.size = "50";
if (document.getElementById("upload").appendChild(aElement) == null)
return false;
return true;
}
function removeInput(nm) {
var aElement = document.getElementById("upload");
if (aElement.removeChild(aElement.lastChild) == null)
return false;
return true;
}
</script>

後台響應儲存檔案的操作,儲存檔案關鍵的一句是要讀取到檔案清單,
//遍曆File表單元素
HttpFileCollection files = HttpContext.Current.Request.Files;
上傳以後儲存檔案的代碼如下: 複製代碼 代碼如下:protected void btnUpload_Click(object sender, EventArgs e)
{
//遍曆File表單元素
HttpFileCollection files = HttpContext.Current.Request.Files;
System.Text.StringBuilder strMsg = new StringBuilder("<br/>");
strMsg.Append("上傳的檔案分別是:</br>");
try
{
for (int iFile = 0; iFile < files.Count; iFile++)
{
//檢查副檔名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName);
strMsg.Append("上傳的檔案類型:" + postedFile.ContentType.ToString() + "<br/>");
strMsg.Append("用戶端檔案地址:" + postedFile.FileName + "<br/>");
strMsg.Append("上傳檔案的檔案名稱:" + fileName + "<br/>");
strMsg.Append("上傳檔案的副檔名:" + fileExtension + "<br/>");
strMsg.Append("上傳檔案的大小:" + postedFile.ContentLength + "<br/>");
//可擴充功能:
//儲存檔案時可以設定儲存目錄
//可以重新命名檔案儲存
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
}
}
strStatus.Text = strMsg.ToString();
}
catch (System.Exception Ex)
{
strStatus.Text = Ex.Message;
}
}

完整代碼下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.