您的位置:首页 > 编程语言 > ASP

HTML <input type="file">上传文件——结合asp.net的一个文件上传示例

2015-05-27 17:11 906 查看
HTML的代码:(关键是要在form里设置enctype="multipart/form-data",这样才能在提交表单时,将文件以二进制流的形式传输到服务器)

一、

<form id="form1" action="test.aspx" method="post" enctype="multipart/form-data">
<div>
<input type="file" name="fl" />
<input type="submit" name="sb" value="submit" />
</div>
</form>


public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFile PostedFile = Request.Files[i];
if (PostedFile.ContentLength > 0)
{
string FileName = PostedFile.FileName;//此处文件名可能上传的是 客户端完成路径 C:\\123.png
string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1);

string sFilePath = Server.MapPath("~/") + FileName;// Server.MapPath("~/123." + strExPrentFile);
PostedFile.SaveAs(sFilePath);
}
else
{
//this.LabMessage.Text = "不能上传空文件";
}
}
Response.Write("1");
}
}
}


浏览器中查看信息--

响应头信息 原始头信息
Cache-Control
private
Connection
Close
Content-Length
458
Content-Type
text/html; charset=utf-8
Date
Thu, 28 May 2015 03:06:47 GMT
Server
ASP.NET Development Server/10.0.0.0
X-AspNet-Version
4.0.30319
请求头信息 原始头信息
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding
gzip, deflate
Accept-Language
zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection
keep-alive
Cookie
oa_cookiename=%e8%82%96%e5%b7%a5; oa_cookieId=291; 肖工_log=operation=&TlogGUI=ed1624e4-9e1d-44fb-98f7-1298512a8266
; ASP.NET_SessionId=cfufw4sesznnphj4peooed0d; SLnewses=1; WPTLNG=1
Host
localhost:13771
Referer http://localhost:13771/AppWeb/test.aspx User-Agent
Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0

来自上传流的请求头信息
Content-Length
430
Content-Type
multipart/form-data; boundary=---------------------------18319207917180

POST
部分multipart/form-data
fl
‰PNG

���
IHDR���������
���bKGD�ÿ�ÿ�ÿ ½§“��� pHYs��Ä��Ä•+���'IDAT™Á � °>ó/I6º’ðž×,·¢¬’eEòàX ŒòmY����IEND®B

sb
submit
源代码
-----------------------------18319207917180
Content-Disposition: form-data; name="fl"; filename="QQ20150528110621.png"
Content-Type: image/png

‰PNG

���
IHDR���������
���bKGD�ÿ�ÿ�ÿ ½§“��� pHYs��Ä��Ä•+���'IDAT™Á � °>ó/I6º’ðž×,·¢¬’eEòàX ŒòmY����IEND®B

-----------------------------18319207917180
Content-Disposition: form-data; name="sb"

submit
-----------------------------18319207917180--

二、

<form id="form1" runat="server"  method="post" enctype="multipart/form-data">
<div>
<input type="file" />
<asp:Button ID="btnUpload" runat="server"  Text="开始上传" onclick="btnUpload_Click" />
</div>
</form>


protected void btnUpload_Click(object sender, EventArgs e)
{
//int intCount = RequestClass.GetFormInt("hdcount", -1);
HttpFileCollection Files = HttpContext.Current.Request.Files;
for (int i = 0; i < Files.Count; i++)
{
HttpPostedFile PostedFile = Files[i];
if (PostedFile.ContentLength > 0)
{
string FileName = PostedFile.FileName;
string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1);

string sFilePath = "/uploadfile/hotel/" + StringClass.makeFileName24() + i + strExPrentFile;
PostedFile.SaveAs(Server.MapPath(sFilePath));
}
else
{
//this.LabMessage.Text = "不能上传空文件";
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐