应用ASP.NET向网络服务器上传文件

『 更新时间:2008-4-6 』『 字体:变小 变大 』『 作者:佚名 | 来源:互联网

HtmlInputFile对象与HTML文件输入元素对应。你可用由id属性指定的名称来访问它。它有下列特性:

  • PostedFile:上传文件的内容。
  • Accept:以逗号界定的MIME类型列表,指定可能提交的文件类型。
  • MaxLength:要提交的文件的最长文件名长度(包括路径)。
  • Size:用户输入/选择上传文件的文本框宽度。

选择文件后,就可以用代码来保存文件。HtmlinputFile的PostedFile属性控制文件是否有效的信号。在提交文件的页面与处理上传的页面为同一页面时,实例代码工作正常,但情况并非总是如此。我们来了解一下如何在不同页面中处理文件上传!

在不同页面中处理上传

我在最近的一个项目中应用一个以Flash为基础的界面来收集用户反馈及上传文件。Flash对象包含在一个HTML文件中,而上传处理与内容则位于另一个ASP.NET页面内。.NET Framework使这一处理过程变得简单。

ASP.NET Request对象中包含由用户提交的一切内容。Request类的Files特性可方便地对用户上传的文件进行访问。Files特性返回一个HttpFileCollection类的实例,它是HttpPostedFile对象的集合(即由用户提交的文件)。这两个类可方便地处理引入的文件。列表D中的C#实例说明了这一处理过程。(列表E包含对应的VB.NET实例。)

列表D

<%@ Page language="c#" %>
<script language="c#" runat="Server">
string uploadFolder = "files";
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
try {
HttpFileCollection uploads = Request.Files;
HttpPostedFilepostedFile = null;
string savePath = Server.MapPath(uploadFolder);
string filename;
for (int x=0; x <= (uploads.Count); x++) {
postedFile = uploads[x];
int pos = postedFile.FileName.LastIndexOf("\\");
if (pos > 0) {
filename = postedFile.FileName.Substring(pos + 1);
} else {
filename = postedFile.FileName;
}
postedFile.SaveAs(savePath + "\\" + filename);
}? } catch (Exception ex) {
// Handle exception
} } }
</script>

列表E

<%@ Page language="vb" ContentType="text/plain" debug="true" %>
<script language="vb" runat="Server">
Dim uploadFolder As String
Sub Page_Load()
If Not (IsPostBack) Then
Try
Dim uploads As HttpFileCollection
uploads = Request.Files
Dim postedFile As HttpPostedFile
Dim savePath As string
savePath = Server.MapPath(uploadFolder)
Dim filename As String
Dim x As Integer
Dim pos As Integer
For x = 0 to (uploads.Count - 1)
postedFile = uploads(x)
pos = postedFile.FileName.LastIndexOf("\")
If (pos > 0) Then
filename = postedFile.FileName.Substring(pos + 1)
Else
filename = postedFile.FileName
End If
postedFile.SaveAs(savePath + "\" + filename)
Next x
Catch ex As Exception
' Handle exception
End Try
End If
End Sub
</script>

此代码通过HttpFileCollection对象来恢复上传文件集,并通过一个for循环,以HttpPostedFile对象处理每个上传文件,并为每个对象调用SaveAs方法,将其保存在网络服务器中。

上一页  [1] [2] [3] [4] 下一页

【点击数:】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

关文章

您的姓名:
评分等级:
1分 2分 3分 4分 5分
评论内容:
1、严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
2、用户需对自己在使用金石网服务过程中的行为承担法律责任。
3、本站管理员有权保留或删除评论内容。
4、评论内容只代表网友个人观点,与本网站立场无关。
  • 金石网
  • | 设为首页 | 加入收藏 | 联系我们 | 版权申明 | 友情链接 | 站点地图 | 网站帮助 | 网站留言 | 广告服务 |
  • Copyright © 2001-2008 KingsNet.biz All Rights Reserved. 闽ICP备05026663号
  • 返回网站顶部