zoukankan      html  css  js  c++  java
  • 超大文件上传

    介绍:可上传超过2G文件,测试4G无问题

    一、项目环境:vs2012,mvc4.0 ,.net framework4.5(4.0也可)

    二、需要资源

       1、初次建立silverlight项目需要安装Silverlight_Developer.exe、silverlight_sdk.exe,最后项目打包里面有一份(也可网上下载)

       2、下载  http://silverlightfileupld.codeplex.com/releases/view/21485  此项目,最后项目打包里面有一份(也可网上下载)

    三、过程

       1、建立mvc4项目MvcApplication1

       2、解决方案右键,新建项目,点击左侧silverlight,选择silverlight应用程序,项目名称为FileUpload,与下载的项目名称相同,用以覆盖

       3、保存,关闭MvcApplication1解决方案,不然文件占用,不能覆盖

       4、解压网上下载项目SilverlightFileUploadSrc.zip,复制文件夹FileUpload、SilverlightFileUpload到MvcApplication1解决方案下,与项目MvcApplication1同级

       5、打开网上下载项目文件夹SilverlightFileUploadWeb,复制文件FileUpload.ashx、FileUpload.ashx.cs,文件夹Upload(用以保存上传文件),到项目MvcApplication1根目         录下

       6、打开项目MvcApplication1,把Upload文件夹,文件FileUpload.ashx、FileUpload.ashx.cs都包含在项目中

       7、解决方案右键 ,添加现有项目,把项目SilverlightFileUpload添加进来,并且项目MvcApplication1要添加引用,引用项目SilverlightFileUpload

       8、在项目MvcApplication1/Views/Shared,新建项,建立mvc4视图用户控件ViewUserControl1.ascx

       9、复制网上下载项目SilverlightFileUploadWeb下FileUploadTestPage.aspx页面所有(注意第一行不复制),到ViewUserControl1.ascx页面里面

       10、Home/Index页面,添加 div  @Html.Partial("ViewUserControl1")

       11、至此  已可以上传图片文件

    四、修改

      1、修改FileUpload.ashx文件可以更改上传路径,并且上传完成后可以传递文件信息

      2、修改ViewUserControl1.ascx文件,可以控制上传文件类型

      3、修改项目FileUpload,可以更改上传控件显示颜色,更改提示文字为汉字,项目FileUpload下code下FileUpload.cs下,enum FileUploadStatus最好不要修改,修改后也可         以上传,但上传不显示进度,完成后图标也不会转变了(暂未找到问题及解决)

    五、注意事项

      1、mvc项目中的区域问题Areas,如果此上传项目用在区域里面,那就在区域里面的shared文件夹里面添加视图用户控件,同时修改ViewUserControl1.ascx里                      面InitParameters="UploadPage=FileUpload.ashx,为InitParameters="UploadPage=/FileUpload.ashx,注意加了个斜杠,要不会找不到此处理文件,导致上传无反应

      2、项目初次运行,浏览器会提示安装silverlight.exe(可点击自动下载),安装好后重启浏览器就可以上传,最后项目打包里面有一份

      3、网站部署时候,有一个问题,如果是在默认网站下建立虚拟目录来运行的,需要修改InitParameters="UploadPage=/FileUpload.ashx为InitParameters="UploadPage=/虚拟目录名称/FileUpload.ashx  ,绝对路径

    六、项目打包

        http://pan.baidu.com/s/1nt8ukbB 

    1、silverlight

    http://silverlightfileupld.codeplex.com/releases/view/21485

    本地已测 4G  明天继续摸索  此项目html页面有问题,不能整合到mvc页面中,但用iframe 引用aspx页面 也能上传,

    http://silverlightuploader.codeplex.com/releases/view/26792  此项目也能上传4G多文件,再整合看

    2、pulpload

    3、查找网盘大文件上传原理

  • 相关阅读:
    day30---内置函数
    day30---绑定方法与非绑定方法
    元类以及属性查找
    python 内置方法/魔法方法
    python 面向对象高级-反射机制
    centos7下jenkins升级
    屏蔽百度右侧热搜
    centos7部署汉化版gitlab
    CentOS 7 安装 Jenkins
    centos7安装与配置ansible
  • 原文地址:https://www.cnblogs.com/heifengwll/p/3567362.html
Copyright © 2011-2022 走看看