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

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

网络页面可通过表单的行为属性调用脚本。它应该指向ASP.NET页面。列表F中的HTML代码是一个样本。

列表F

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html><head><title> TechRepublic File Upload Example </title>
</head><body>
<form id="frmFileUploadDemo" name="frmFileUploadDemo" action="upload.aspx">
<input type="file" name="fileUpload" id="fileUpload" />
<br /><br />
<input type="submit" id="butSubmit" value="Submit" />
</form></body></html>

安全

你应该在网络服务器中建立文件夹,将文件保存在代码指定的目录中。另外,你还要限制上传文件的类型;例如,你要阻止恶意代码,大型视频,以及给服务器造成麻烦的内容。

你可以用文件的MIME类型来限制用户上传的文件类型。HTML标准中包含一个输入元素的行为属性,你可通过包含合法的MIME类型,利用它来限制上传的内容。见列表G。

列表G
<Input type="file" name="fileUpload" id="fileUpload" runat="Server" accept="application/msword" />

并不是所有的网络用户都支持属性,使用代码解决方案更为可靠。列表H中的代码对第一个实例做出修改,使其只接受Word文本。如果上传文件的内容类型为微软Word的MIME类型,则只对文件进行保存。

列表H

>
<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html><head><title> TechRepublic File Upload Example </title>
</head>
<script language="c#" runat="server">
private void btnSubmit_Click(object o, EventArgs e) {
if (fileUpload.PostedFile != null) {
string uploadPath = "files";
string filename;
try {
if (fileUpload.PostedFile.ContentLength > 0) {
if (fileUpload.PostedFile.ContentType == "application/msword") {
int pos = fileUpload.PostedFile.FileName.LastIndexOf("\\");
if (pos > 0)
filename = fileUpload.PostedFile.FileName.Substring(pos + 1);
else
filename = fileUpload.PostedFile.FileName;
fileUpload.PostedFile.SaveAs(Server.MapPath(uploadPath) + "\\" + filename);
} else {
Response.Write("You may only upload Word documents.");
} } else
Response.Write("Empty file may not be uploaded.");
} catch (Exception ex) {
Response.Write("Error: " + ex.Message.ToString());
} } }
</script>
<body>
<h2 align="center">TechRepublic File Upload Example</h2>
<div id="divCenter" align="center">
<form id="frmFileUploadDemo" method="post" runat="server">
<input type="file" name="fileUpload" id="fileUpload" runat="server" size="50"
accept="application/ms-word" />
<br /><br />
<input type="submit" id="btnSubmit" value="Submit" runat="server" OnServerClick="btnSubmit_Click" />
</form></div></body></html>
>

接受所有文件

自上传输入元素出现以来,接受文件上传就是一个标准的网络作法,这没有多大的改变。但是,ASP.NET简化了提交文件的过程。通过ASP.NET页面,或者标准的HTML表单,你都可以轻松地处理提交过程,并限制用户上传的内容。

Tony Patton拥有丰富的Java、VB、Lotus及XML方面的知识,是一个专业的应用程序开发人员。

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

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

关文章

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