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

首頁 > 編程 > .NET > 正文

利用ASP.NET向服務(wù)器上傳文件

2024-07-10 12:56:05
字體:
供稿:網(wǎng)友
文件上傳技術(shù)是一個很實用的技術(shù),有著很廣泛的應(yīng)用,在asp.net自身的前一個版本asp里實現(xiàn)這個功能,就必須使用第三方的組件或者自己開發(fā)組件了,現(xiàn)在,用asp.net實現(xiàn)起來就簡單得多了,我們不需要使用任何組件就可以實現(xiàn)上傳的功能了。
    為了方便講解,我們可以把文件上傳分成兩種類型:單一文件上傳和多文件上傳。
    
    單一文件上傳
    我們先來介紹單一文件上傳的方法,單一文件上傳就比較簡單了,
    下面是實現(xiàn)單一文件上傳的完整代碼:
<%@ import namespace="system" %>
<%@ import namespace="system.web.httppostedfile" %>
<%@ import namespace="system.web.ui.htmlcontrols.htmlinputfile" %>
<script language="vb" runat="server">
sub upload(src as object, e as eventargs)
     if uploadfile.postedfile.contentlength=0 then
       showuploadfile.innertext="上傳失敗或文件不存在!"
  else
      '獲取文件名
   dim temp() as string=split(uploadfile.postedfile.filename,"/")
   dim filename as string=temp(temp.length-1)
   '保存文件
  uploadfile.postedfile.saveas(server.mappath(".") & "/files/" & filename)
   '顯示上傳結(jié)果
   showuploadfile.innerhtml="文件上傳成功!<br>上傳文件名:" & filename
     end if
end sub
</script>
<html>
<body>
    <form runat="server" enctype="multipart/form-data">
       <input type="file" id="uploadfile" runat="server" size="50"><br>
       <asp:button runat="server" text="立即上傳" onclick="upload" />
    </form>
 <hr><br>
 <span id="showuploadfile" runat="server"></span>
</body>
</html>
    把上面的代碼保存成.aspx文件,然后在該文件所在目錄下創(chuàng)建一個存放文件的新目錄files,運行,先感受一下效果,然后再繼續(xù)看下面的講解
    使用asp.net上傳文件,需要用到.net框架的兩個類:httppostedfile和htmlinputfile,這兩個類所在的命名空間分別是system.web.httppostedfile和system.web.ui.htmlcontrols.htmlinputfile,所以我們要在文件開頭先導(dǎo)入這兩個命名空間,
    其中的postedfile表示上傳到服務(wù)器的文件,它包含幾個常用的屬性:
       contentlength:文件大??;
       filename     :上傳文件的詳細路徑及文件名;
       contenttype  :上傳文件的文件類型。
    字符分割函數(shù)split是用來取得文件名的,因為通過postedfile.filename獲得的是詳細的路徑及文件名。
   
   多文件上傳
   所謂的多文件上傳就是同時上傳多個文件,這個跟單一文件上傳大多是相同的,不同的是多文件上傳是把所有文件作為一個文件集合一起上傳到服務(wù)器的,我們需要的是把這個文件集合分解成一個個單一的文件,剩下的處理方法就跟單一文件上傳一樣了。
   首先你要知道要最多同時上傳多少個文件,然后你就在form之間放多少個如下的htmlinput控件:
    <input type="file" runat="server" size="50">
   注意:這里的htmlinput控件控件是不需要設(shè)置id的
   那怎么在上傳到服務(wù)器的文件集合中取出一個個的文件呢?看下面的代碼:
   dim i as integer
   for i=0 to request.files.count-1
      ‘使用request.files()來逐個獲取上傳的文件
      dim myfile as httppostedfile=request.files(i)
      '這里的myfile就相當于上例中的postedfile,可以用myfile.filename獲得文件名,etc
      '這里的處理代碼就跟單一文件上傳的一樣了
   next
   現(xiàn)在你已經(jīng)掌握了asp.net文件上傳技術(shù)了,只要靈活應(yīng)用,美化上傳界面,做出好的asp.net上傳程序了也不是什么難事了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淮南市| 揭西县| 正定县| 巴塘县| 合川市| 扎兰屯市| 浦东新区| 武乡县| 禹州市| 新源县| 华池县| 衡阳市| 晴隆县| 天全县| 江油市| 三明市| 马边| 正阳县| 平遥县| 安福县| 英德市| 梁河县| 潍坊市| 且末县| 集贤县| 关岭| 台北县| 红桥区| 凌源市| 厦门市| 柘城县| 珲春市| 上犹县| 上虞市| 津市市| 安顺市| 历史| 上栗县| 岗巴县| 南部县| 会理县|