zoukankan      html  css  js  c++  java
  • asp.net 多文件上传,兼容IE6/7/8,提供完整代码下载

    最终效果如下:

    现贴出核心代码如下: 
    aspx里的代码: 
    复制代码代码如下:

    <div> 
    <div style=" 200px;"> 
    <input type="file" size="50" name="File" /> 
    <span id="upload"></span> 
    <br /> 
    <input type="button" name="button" value="添加文件" onclick="addInput()"> 
    <input type="button" name="button" value="删除文件" onclick="deleteInput()"> 
    </div> 
    <div style="margin: 10px 0 10px 0; 200px;"> 
    <asp:Button runat="server" Text="上传" ID="btnUpload" OnClick="btnUpload_Click"></asp:Button><br/> 
    <asp:Label ID="strStatus" runat="server"></asp:Label> 
    </div> 
    </div> 

    在添加文件和删除文件里调用了Javascript,代码如下: 

    复制代码代码如下:

    <script type="text/javascript"> 
    var attachname = "uploadfile"; 
    var i = 1; 
    function addInput() { 
    if (i > 0) { 
    var attach = attachname + i; 
    if (createInput(attach)) 
    i = i + 1; 


    function deleteInput() { 
    if (i > 1) { 
    i = i - 1; 
    if (!removeInput()) 
    i = i + 1; 


    function createInput(nm) { 
    var aElement = document.createElement("input"); 
    aElement.name = nm; 
    aElement.id = nm; 
    aElement.type = "file"; 
    aElement.size = "50"; 
    if (document.getElementById("upload").appendChild(aElement) == null) 
    return false; 
    return true; 

    function removeInput(nm) { 
    var aElement = document.getElementById("upload"); 
    if (aElement.removeChild(aElement.lastChild) == null) 
    return false; 
    return true; 

    </script> 



    后台响应保存文件的操作,保存文件关键的一句是要读取到文件列表, 
    //遍历File表单元素 
    HttpFileCollection files = HttpContext.Current.Request.Files; 
    上传以后保存文件的代码如下: 
    复制代码代码如下:

    protected void btnUpload_Click(object sender, EventArgs e) 

    //遍历File表单元素 
    HttpFileCollection files = HttpContext.Current.Request.Files; 
    System.Text.StringBuilder strMsg = new StringBuilder("<br/>"); 
    strMsg.Append("上传的文件分别是:</br>"); 
    try 

    for (int iFile = 0; iFile < files.Count; iFile++) 

    //检查文件扩展名字 
    HttpPostedFile postedFile = files[iFile]; 
    string fileName, fileExtension; 
    fileName = System.IO.Path.GetFileName(postedFile.FileName); 
    if (fileName != "") 

    fileExtension = System.IO.Path.GetExtension(fileName); 
    strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br/>"); 
    strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br/>"); 
    strMsg.Append("上传文件的文件名:" + fileName + "<br/>"); 
    strMsg.Append("上传文件的扩展名:" + fileExtension + "<br/>"); 
    strMsg.Append("上传文件的大小:" + postedFile.ContentLength + "<br/>"); 
    //可扩展功能: 
    //保存文件时可以设置保存目录 
    //可以重命名文件保存 
    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);


    strStatus.Text = strMsg.ToString(); 

    catch (System.Exception Ex) 

    strStatus.Text = Ex.Message; 



    完整代码下载

    http://www.jb51.net/article/24204.htm 

  • 相关阅读:
    SQL之mysql常用操作语句(入门级)
    总结了一些指针易出错的常见问题(七)
    C++之类和对象课后习题1
    SQL之50个常用的SQL语句
    SQL之经典SQL语句大全
    C语言之计算字符串最后一个单词的长度,单词以空格隔开
    spring之HttpInvoker
    Java之解压流(ZipInputStream)
    jetty之嵌入式开发
    java之压缩流(ZipOutputStream)
  • 原文地址:https://www.cnblogs.com/chen110xi/p/2477351.html
Copyright © 2011-2022 走看看