在Asp.net Mvc 3中使用swfupload

 

一、无法在iis下显示上传按钮的问题

注意在js中,路径要绝对按照下面的方式书写:

flash_url: '@Url.Content("~/Common/SwfUpload/swfupload.swf")',

button_image_url: '@Url.Content("~/Common/SwfUpload/TestImageNoText_65x29.png")',

 

如果写成

button_image_url: '/Common/SwfUpload/TestImageNoText_65x29.png")',

则在iisexpress中调试能够通过,但在iis中运行的时候会出现错误,原因是前者会将虚拟路径加上,后者不会。

最终造成的问题是:1、上传按钮不会显示;2、当然也无法点击打开文件对话框,因为swf文件也无法载入。

 

二、上传路径的写法:

假设我们使用UploadController的Upload方法,来处理上传,那么:

1、参数要一致,当然,我们可以不要设置参数,只用Request.Files来获得传来的文件

2、路径和flash_url一致,也用url.Content,当然也可用Url.Action

 

三、后台代码的书写:

对于1个文件,对于多个文件

 

四、文件大小限制

 

五、file和swfupload的区别:

原理上说,swfupload在本地读取文件,我们通过js能够获取本地的进度。因此,开始传了多少,在尚未到达服务器的时候我们就知道。

file控件则是整个文件传递到服务器后我们才能知道进度,当然,有一些特别的服务端的方法,可以解析请求内容,得到“到达的数量”

 

因此,swfupload通过js轮询本地的进度。

当然,如果服务端处理耗时较长的话,也可以由本地js,轮询服务端某个进度值。

所以,可以统一进度条的样式,服务端处理通常包括:1、将到达的请求(已经包含整个文件)保存到磁盘上;2、如果是导入操作,再将其加入数据库。

这是对excel之类的情形,如果以某种文件形式上传导入到数据库,则无需保存文件的操作,仅针对stream处理即可。

 

六、考虑客户端禁用java或未安装Flash的问题

 

七、封装上传功能:

   实际上,对于单文件上传,理想的方法是提供一个按钮,选择文件后,在按钮后方或者下方,出现文件名,正在上传和一个进度条。当然,能够显示上传耗时、剩余多少时间、上传速度最好。

上传结束后,保持这些信息,同时显示“上传成功”,下次选择文件的时候,重复此动作。

   如果客户端禁用js,则改用file控件,不显示进度---此时也无法通过js做什么。

   如果客户端可用js,但未安装flash,这时可以用一个滚动的gif图形,粗略的表示上传正在进行。

 

  对于多文件,方式差不多。大体上,swfupload官网的Demo包括file队列、速度等js文件,改改就能用。

 

   对于Asp.net mvc,实际上可以有两种封装方法:

1、封装为htmlhelper

2、全局提供唯一的一个上传Action,各处调用。

转载于:https://www.cnblogs.com/by1990/archive/2011/04/07/2008634.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值