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

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:10:26
字體:
來源:轉載
供稿:網友


    想實現任意多個文件上傳的功能,點擊一次按鈕可以添加一個文件上傳框,以前在網絡硬盤上看到過。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" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<script language="javascript">
function addfile()
{
 var str = '<input type="file" size="50" name="file">'
 document.getelementbyid('myfile').insertadjacenthtml("beforeend",str)
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>untitled page</title>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data">
           <input type="button" value="增加(add)" >
          <input 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));
            }
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洞头县| 沈阳市| 黔东| 分宜县| 宜良县| 吉木萨尔县| 广灵县| 永顺县| 连山| 武胜县| 龙井市| 宣武区| 汽车| 新晃| 历史| 崇左市| 铜鼓县| 黑河市| 台中市| 楚雄市| 桐乡市| 曲阜市| 霍山县| 徐水县| 花垣县| 重庆市| 嘉定区| 阳西县| 九龙县| 彭山县| 台江县| 宝应县| 南陵县| 阿拉善左旗| 玉树县| 广水市| 定西市| 赤峰市| 宜兴市| 启东市| 霍林郭勒市|