国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ASP.NET 2.0 多文件上傳小經驗

2019-11-18 17:09:45
字體:
來源:轉載
供稿:網友

    想實現任意多個文件上傳的功能,點擊一次按鈕可以添加一個文件上傳框,以前在網絡硬盤上看到過。javaScript我知道怎么實現任意添加上傳文件控件,問題是添加的是Html控件,我不懂怎么讓服務器端可以獲取文件。

    于是上google搜索“asp.net 多文件上傳”,還真找到一篇文件,標題為《在ASP.NET中實現多文件上傳》,文章里面是VB.NET實現的,功能和我要的一模一樣,我主要是要看服務器端怎么獲取客戶端上傳的文件,看了文中的代碼,原來這么簡單,System.Web.HttpContext.Current.Request.Files就包含客戶端瀏覽器上傳的文件了,我用C#寫了一段簡單的代碼,原本以為應該可以了,結果出乎意料上傳3個圖片System.Web.HttpContext.Current.Request.Files返回的文件格式還是0個。

    不知道什么原因,看看代碼,這么簡單不可能些錯啊,再看看google搜索結果里的另外幾篇文章,發現我看的第一篇不是原做,作者的網站上原作的實例有兩個版本,一個是VB.NET一個是C#的,現在我不用自己寫了,復制原文的代碼到本地,運行,果然可以啊,那我寫的代碼怎么不行?反復比對我的代碼和文章中代碼的區別,試了幾個地方,最后發現和其他地方都沒有關系,原因出在<form id="form1" runat="server" enctype="multipart/form-data"> 的enctype屬性上,VS 2005建的頁面里沒有這個屬性,而文章實例里有,我后來加上enctype="multipart/form-data"后System.Web.HttpContext.Current.Request.Files就能z正常獲取文件個數了。

    大概是VS 2003建的頁面默認有這個屬性吧,否則這么重要的屬性作者應該會在文章中提到的。

參考:
《在ASP.NET中實現多文件上傳》

我做的試驗代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Demo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<script language="Javascript">
function addFile()
{
 var str = '<INPUT type="file" size="50" NAME="File">'
 document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
}
</script>
<html xmlns="<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data">
           <input type="button" value="增加(Add)" onclick="addFile()">
          <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
          <asp:Button Runat="server" Text="上傳" ID="Upload" OnClick="Upload_Click1" ></asp:Button>
    <div id="MyFile">
         <input type="file" name="File" />
    </div>
    </form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Demo
{
    public partial class _Default : System.Web.UI.Page
    {
       
PRotected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Upload_Click1(object sender, EventArgs e)
        {

            HttpFileCollection _files = System.Web.HttpContext.Current.Request.Files;

            for (int i = 0; i < _files.Count; i++)
            {
                _files[i].SaveAs(Server.MapPath("~/Files/" + _files[i].FileName));
            }
        }
    }
}

http://bg5sbk.VEVb.com/archive/2006/06/11/mulitfileuploadtest.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北辰区| 兴国县| 易门县| 胶州市| 焉耆| 吴旗县| 瓦房店市| 巩义市| 乐安县| 涟水县| 犍为县| 衡阳县| 凤山市| 磐石市| 丰城市| 阜阳市| 德钦县| 神池县| 镇江市| 文安县| 翁牛特旗| 清水县| 崇左市| 信丰县| 聂拉木县| 淮南市| 昭苏县| 南陵县| 平远县| 耿马| 咸丰县| 巴中市| 都匀市| 梓潼县| 砚山县| 阳江市| 武乡县| 县级市| 苍南县| 延安市| 略阳县|