关于多文件上传

        由于临时被调去开发一个web网站,在原来的基础上进行修改,真辛苦啊,还是喜欢一个项目从头到尾跟到底。先稍稍感慨下,现在说说我喷到的问题。

        多文件上传,其实很简单,当然了,这里的简单,指的是,什么效果都没有,直接上传,然后提示个上传成功和上传失败。其实我也想就这样简单的完成任务,奈何测试部不通过啊!!!

        提了一大堆问题,进度条、异步等,还有页面不够美观。压力好大啊!哎,我做的网站不多啊,还好咱代码看得懂,于是上传找个个“文件上传带进度条的”博客看了下,并自己弄了个小例子,ok,成功了。http://www.cnblogs.com/zengxiangzhan/archive/2010/02/28/1675137.html  文章地址。

        现在就要提我碰到的问题,记录下来,预防下次开发碰到。原来是把upload.aspx文件直接放在项目下面,但由于原来的web比较大,我要弄个文件夹,把所有相关的放在一个文件夹里,这个时候,问题出现了。

        出现问题的代码: ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", string.Format(js, fileName), true);。其中upload_aspx,无法找到类型或命名空间,这个问题我现在也还没有解决,把upload.aspx放回项目下,又ok了。

        后来发现一点,在项目下的cs类或aspx写C#语言,有个命名空间  “ASP”,然后放在文件夹之后,这个命名空间写无法引用,我现在也不知道怎么引用。当然了,上面那个问题还是解决了,只是换了一种写法。下面介绍下解决方法。

        ScriptManager.RegisterStartupScript有4个参数,第二个要的是type,可以换成 fileUpload.GetType(),这样就ok了,一切正常。当然,现在完成的只是文件上传,带进度条。要变成多文件上传,就自己布局下,把单个文件上传弄好点,然后试用<iframe>来把单文件的页面引用进来,再试用js来动态添加<iframe>。效果就出来了:

再把按钮“添加文件”的事件贴出来:

function addFile() {
    var div = document.createElement("div");
    div.setAttribute("style", "padding: 10px 0; height:200px;");
    var f = document.createElement("iframe");
    f.setAttribute("style", "height:170px; width:560px;")
    f.setAttribute("frameborder", "0")
    f.setAttribute("scrolling", "no")
    f.setAttribute("src", "../UploadResource/UploadResource.aspx")
    div.appendChild(f)
    var d = document.createElement("input");
    d.setAttribute("type", "button")
    d.setAttribute("onclick", "deteFile(this)");
    d.setAttribute("value", "移除")
    div.appendChild(d)
    document.getElementById("_container").appendChild(div);
}

       这样,再稍稍调下界面,就完成任务了。不过我自己测试了下,最多只能上传25M,反正再上传30M就会出一些意外,直接卡那,一个上传框卡主,其他的可以各自自己工作,无所谓。也算挺不错的效果了。


         

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值