注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

回忆之旅

我很向往山村的农庄生活,他们的热情,让我无法抗拒! 51EOO.COM

 
 
 

日志

 
 

Asp.net批量上传多张图片  

2010-03-05 12:23:42|  分类: 技术分享 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


方法一:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UploadImages.aspx.cs" Inherits="UploadImages" %> 
   
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
   
  <html xmlns="http://www.w3.org/1999/xhtml" > 
  <head id="Head1" runat="server"> 
   <title>Tony 上传图片</title> 
      <link href="../Css/Index.css" rel="stylesheet" type="text/css" />
  </head> 
  <body >
   <form id="form1" runat="server"> 
   <div> 
   
       <table border="0" cellpadding="0" cellspacing="0" style="width: 628px; height: auto; border-right: #66cc66 1px solid; border-top: #66cc66 1px solid; border-left: #66cc66 1px solid; border-bottom: #66cc66 1px solid;">
           <tr>
               <td style="width: 128px; font-weight: bold; font-size: 10pt; color: #6666ff; height: 29px;">
               </td>
               <td style="width: 128px; font-weight: bold; font-size: 10pt; color: #6666ff; height: 29px;">
                   TONY上传图片
               </td>
           </tr>
           <tr>
               <td style="height: 26px; text-align: right">
                   操作:</td>
               <td style="height: 30px; text-align: left;">
                   <input onclick="addFile()" type="button" value="增加图片" />
   <asp:Button ID="UploadImage" runat="server" Text="开始上传" OnClick="UploadImage_Click" /></td>
           </tr>
           <tr>
               <td style="height: auto; text-align: right">
                   错误列表:</td>
               <td style="height: 34px; text-align: left">
   <asp:Label ID="Message" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label></td>
           </tr>
       </table>
<div id="FileList"></div>
   </div> 
   </form> 
  </body> 
  </html>
     <script type="text/javascript">    
   function addFile() 
   {
   var str='<div class=R_C_Column><div class=R_C_Left>请选择图片:</div><div class=R_C_Right><input type=file name=File runat=server style=width: 300px /></div></div>';   
   document.getElementById('FileList').insertAdjacentHTML("beforeEnd",str) 
   } 
   </script> 

Code:
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;
using System.IO;
public partial class UploadImages : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Message.Text = "您还没有上传图片!";
        }
    }

    protected void UploadImage_Click(object sender, EventArgs e)
    {
        System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        int size = 524288000;  //获得默认文件大小设置
        Random ran = new Random();
        for (int file = 0; file < files.Count; file++)
        {
            System.Web.HttpPostedFile postedfile = files[file];
            if (postedfile.FileName.Trim().Length > 0) //判断文件名是否为空            
            {
                if (postedfile.ContentLength <= size)
                {
                    string extension = Path.GetExtension(postedfile.FileName); //获得文件的扩展名
                    if (extension == ".jpg" || extension == ".JPG" || extension == ".gif" || extension == ".GIF")
                    {

                        string savepath = Server.MapPath("../Files/Test/");
                        if (!Directory.Exists(savepath))
                        {
                            Directory.CreateDirectory(savepath);
                        }
                        DateTime time = DateTime.Now;
                        string newfilename = time.Year.ToString() + time.Month + time.Day + time.Hour.ToString() + time.Millisecond.ToString() + ran.Next(1000, 9999).ToString() + time.Second.ToString() + time.Millisecond.ToString() + file.ToString() + ran.Next(1000, 9999).ToString();
                        System.Web.HttpPostedFile myFile = files[file];
                        string fileinfo = savepath + newfilename + extension;
                        myFile.SaveAs(fileinfo);
                    }
                    else
                    {
                        sb.Append("<br />" + postedfile.FileName.ToString() + "&nbsp;&nbsp;&nbsp;原因:格式错误!");
                    }
                }
                else
                {
                    int filesize = size / (1024 * 1024);
                    sb.Append("<br />" + postedfile.FileName.ToString() + "&nbsp;&nbsp;&nbsp;原因:文件大小超过+" + filesize.ToString() + "KB!");
                }
            }

        }

        if (sb.ToString().Length > 0)
        {
            Message.Text = "如下图片上传失败:" + sb.ToString();
        }
        else
        {
            Message.Text = "全部上传成功!";
        }

    }



    /// <summary>
    /// 弹出对话框
    /// </summary>
    /// <param name="message"></param>
    protected void DialogBox(string message)
    {
        Response.Write("<Script>alert('" + message.ToString() + "');</Script>");
    }
}


方法二:告诉大家一个组件,下载以后就能用了CuteWebUI.AjaxUploader.dll(UploadAttachments)不过是用Ajax做的。

方法三:使用System.Web.Silverlight.dll组件上传






Asp.net批量上传多张图片 - Tony - 回忆之旅
  评论这张
 
阅读(1819)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017