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


    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 = "不能上传空文件";
                    }
                }
            }
  • 相关阅读:
    构造方法
    封装 private
    局部变量和成员变量区别
    IOC
    Linux端口占用查询命令
    Nginx小白入门实战
    SQL left join right join inner join之间的区别
    IDEA导入maven工程时,不会自动识别怎么办
    Spring中Controller层中的method显示为灰色并且提示method is never used的原因
    查看服务器公网IP
  • 原文地址:https://www.cnblogs.com/elves/p/4533930.html
Copyright © 2020-2023  润新知