ASP.NET2.0多文件上传小经验
来源:互联网 发布:sip 绑定本地端口 编辑:程序博客网 时间:2024/05/16 07:29
于是上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建的页面默认有这个属性吧,否则这么重要的属性作者应该会在文章中提到的。
我做的试验代码:
<%@ 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)" 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.cnblogs.com/archive/2006/06/11/mulitfileuploadtest.html
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- ASP.NET2.0多文件上传小经验
- asp.net2.0 多文件压缩上传
- asp.net2.0上传文件
- asp.net2.0上传文件
- ASP.NET 2.0 多文件上传小经验
- asp.net2.0 多文件压缩上传问题
- ASP.NET2.0文件图片上传C#
- asp.net2.0实现文件上传,控制上传文件大小,类型
- asp.net2.0实现文件上传,控制上传文件大小,类型
- asp.net2.0实现文件上传,控制上传文件大小,类型
- ASP.NET2.0中FileUpload控件的使用(即ASP.NET2.0中如何上传文件)
- ASP.NET2.0中FileUpload控件的使用(即ASP.NET2.0中如何上传文件)
- ASP.NET2.0文件上传以及图片处理
- ASP.NET2.0中将文件上传到数据库
- asp.net2.0两句代码搞定文件上传
- ASP.NET2.0文件上传以及图片处理
- asp.net2.0文件上传和图片水印处理
- asp.net2.0两句代码搞定文件上传
- Ajax简单客户登陆验证
- cookies的丢失和中文乱码
- .Net中常见问题及解决方法归类
- ASPX接收WINDOWS应用程序以POST方式发来的信息并存成文件
- Asp.net2.0:如何使用ObjectDataSource(配合ORM)
- ASP.NET2.0多文件上传小经验
- Web2.0时代RSS的.Net实现
- 开发基于ASP.NETWebService的图片验证码服务
- ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
- 设置页面buffer引出来的问题
- asp.net2.0中预设的cookie
- Asp.net给站点某目录增加Aspnet用户
- 开发ASP.NETAtlas服务器端Extender控件—编写服务器端Extender
- 用JavaScript打造搜索工具栏