• MVC * 上传 下载 实现方式(一)


    本人在实现第三方文件存储时,为实现Web网络的上传和下载 的实现费了一些时间,然后总结到的一些问题: 如有思路狭隘之处还望指正!

    文件上传时:

    实现方式 为:

    客户端=》第三方=》服务器(优点:从客户到存储服务器 相比 客户端=》服务器=》第三方 上传效率更高。)

    但是 通过Web 实现的时候 默认一般实现方式从浏览器 =》服务器=》第三方存储。

    如果想实现直接从浏览器到第三方存储 暂时实现为利用javaScript跨域上传到第三方存储服务器(这些第三方肯定提供支持) 

    上传方式代码后续会加上: 目前只是打通了API的大部分通道!

    文件下载:

    代码如下,做了简要下载。之后再深入解析

     1  /// <summary>
     2         /// 文件下载
     3         /// </summary>
     4         /// <param name="filename">要下载的文件名称</param>
     5         /// <returns></returns>
     6         public ActionResult DownFiles(string filename)
     7         {
     8             ///要下载的文件
     9             string tempfilename = filename == null ? filenamekey : filename;
    10             string key = filenamekey;
    11             ///得到网络上的文件路径如:http://baidu.com/123.avi
    12             string downurl = VideoService.MakeGetToken(key);
    13             ///利用webClient抓取到此地址并且以流的方式接收到!
    14             WebClient wc = new WebClient();
    15             Stream downstream=  wc.OpenRead(new Uri(downurl));
    16             string urlfilename = Url.Encode(tempfilename);
    17             if (Request.Browser.Browser.Contains("Firefox"))
    18             {
    19                 urlfilename = tempfilename;
    20             }
    21             ///响应到Web上
    22             return File(downstream, "application/octet-stream", urlfilename);
    23 
    24         }
    View Code

    此方法可以实现网络抓取文件方式!

    如有更好方式,欢迎交流!

  • 相关阅读:
    高效出去List集合和数组中的重复元素
    各进制间转换总结
    java集合应用类
    禁止键盘上的刷新键F5等
    Map迭代
    java 过滤字符串方法实现
    java 跟 咖啡的关系
    插件jfreechart+shh实现树状图 柱状图 折线图
    Struts2利用iText导出word文档(包含表格)
    request.getRequestURI() 、request.getRequestURL() 、request.getContextPath()、request.getServletPath()区别
  • 原文地址:https://www.cnblogs.com/vktun/p/4346875.html
Copyright © 2020-2023  润新知