首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.net的批量上传图片?该怎么处理

2012-06-29 
.net的批量上传图片???最近的机试题要求做一个批量上传图片的功能,所谓的批量上传是多个文件一起上传,还是

.net的批量上传图片???
最近的机试题要求做一个批量上传图片的功能,所谓的批量上传是多个文件一起上传,还是循环着一个一个传?

又如何做到多个文件一起上传呢?

[解决办法]
多个文件同时上传,可以结合flash(网上搜),让用户一次选择多个文件
也可以使用多个普通file控件
但无论怎样都是一个一个保存到服务器上的
[解决办法]
正常情况下都是一个一个的上传的.
不过考虑考虑让用户压缩(.zip格式)后上传,然后再代码里解包.(目前好像大家还是只用一个老外封装好那个dll去程序解压zip格式的压缩包吧?)
[解决办法]
一个一个传,循环.
从理论上,也没有必要同时写N个文件。写完一个,再写下一个,一样的
[解决办法]
循环 Request.Files
[解决办法]
关注!
[解决办法]
关注!
[解决办法]
循环上传控件
[解决办法]
转一个收藏的代码“一次上传多个图片并预览”,已经测试过了,代码可以直接用。
在前台代码可以添加任意多个FileUpload控件,后台会自动获取的。其它见说明~

前台代码:

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" ><head id="Head1" runat="server">    <title>无标题页</title><link href="http://www.svnhost.cn/style/public.css" rel="stylesheet" type="text/css" /></head><body><script language="javascript">function $(o){return document.getElementById(o);}function CheckImgCss(o,img){    if (!/\.((jpg)|(bmp)|(gif)|(png))$/ig.test(o.value))    {        alert('只能上传jpg,bmp,gif,png格式图片!');        o.outerHTML = o.outerHTML;    }    else    {        $(img).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=o.value;        //$('Image1').src = o.value;//这里IE7已经不支持了。所以才有上面的方法。    }}</script>    <form id="form1" runat="server">    <div><h1>一次上传多个图片并预览,请选择图片:</h1>        <br />        <asp:FileUpload ID="FileUpload1" onchange="CheckImgCss(this, 'img');" runat="server" />        <br />        <asp:FileUpload ID="FileUpload2" onchange="CheckImgCss(this, 'img');" runat="server" />        <br />        <asp:FileUpload ID="FileUpload3" onchange="CheckImgCss(this, 'img');" runat="server" />        <br />        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" />        <div id="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=<%= pic%>,sizingMethod=scale);width:102px;height:100px;"></div>        </div>    </form><div></body></html>
[解决办法]
swfupload还是flashupload。
bbs.ahnw.gov.cn,去看看吧,这个论坛用了flash的多文件上传。但是我发现它只兼容IE。
[解决办法]
good luck
[解决办法]
给你一段ajax无刷新上传的代码




C# code
<%@ WebHandler Language="c#" Class="File_WebHandler" Debug="true" %>using System;using System.Web;using System.IO;//51aspxpublic class File_WebHandler : IHttpHandler{        private const int UploadFileLimit = 3;//上传文件数量限制        private string _msg = "上传成功!";//返回信息    public void ProcessRequest(HttpContext context)    {        string user = context.Request.UrlReferrer.ToString();        int iTotal = context.Request.Files.Count;        if (iTotal == 0)        {            _msg = "没有数据";        }        else        {            int iCount = 0;            for (int i = 0; i < iTotal; i++)            {                HttpPostedFile file = context.Request.Files[i];                if (file.ContentLength > 0 || !string.IsNullOrEmpty(file.FileName))                {                    //保存文件                    file.SaveAs(System.Web.HttpContext.Current.Server.MapPath("./file/" + Path.GetFileName(file.FileName)));                    //这里可以根据实际设置其他限制                    if (++iCount > UploadFileLimit)                    {                        _msg = "超过上传限制:" + UploadFileLimit;                        break;                    }                }            }        }        context.Response.Write("<script>window.parent.Finish('" + _msg + "');</script>");    }    public bool IsReusable    {        get        {            return false;        }    }} 

热点排行