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

文件上传时:

实现方式 为:

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

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

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

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

文件下载:

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

  /// <summary>
/// 文件下载
/// </summary>
/// <param name="filename">要下载的文件名称</param>
/// <returns></returns>
public ActionResult DownFiles(string filename)
{
///要下载的文件
string tempfilename = filename == null ? filenamekey : filename;
string key = filenamekey;
///得到网络上的文件路径如:http://baidu.com/123.avi
string downurl = VideoService.MakeGetToken(key);
///利用webClient抓取到此地址并且以流的方式接收到!
WebClient wc = new WebClient();
Stream downstream= wc.OpenRead(new Uri(downurl));
string urlfilename = Url.Encode(tempfilename);
if (Request.Browser.Browser.Contains("Firefox"))
{
urlfilename = tempfilename;
}
///响应到Web上
return File(downstream, "application/octet-stream", urlfilename); }

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

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

MVC 外网 上传 下载 实现方式(一)的更多相关文章

  1. 向linux服务器上传下载文件方式收集

    向linux服务器上传下载文件方式收集 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ...

  2. mvc中文件上传下载

    //控制器 public ActionResult FileUpLoad(HttpPostedFileBase f1) { string path = Server.MapPath("~/P ...

  3. C# --MVC实现简单上传下载

    首先创建一个默认的控制器Defaultcontroller 然后生成视图View 在视图里面 创建文件选择器 创建上传.下载按钮 代码如下 <body> <div> <f ...

  4. spring mvc注解文件上传下载

    需要两个包: 包如何导入就不介绍了,前端代码如下(一定要加enctype="multipart/form-data"让服务器知道是文件上传): <form action=&q ...

  5. spring mvc 实现文件上传下载

    /** * 文件上传 * @param pictureFile */ @RequestMapping("/reportupload") public ResponseInfo up ...

  6. linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载

    https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...

  7. 基于Spring Mvc实现的Excel文件上传下载

    最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...

  8. Spring MVC的文件上传和下载

    简介: Spring MVC为文件上传提供了直接的支持,这种支持使用即插即用的MultipartResolver实现的.Spring MVC 使用Apache Commons FileUpload技术 ...

  9. Spring MVC 使用介绍(十四)文件上传下载

    一.概述 文件上传时,http请求头Content-Type须为multipart/form-data,有两种实现方式: 1.基于FormData对象,该方式简单灵活 2.基于<form> ...

随机推荐

  1. 只需三步--轻松反编译Android Apk文件

    安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...

  2. sync_object not in ('TBL_Territory')

    sync_objec 不包含TBL_Territory这个字段

  3. svg gradient

    SVG和canvas中是一样的,都是使用标准的HTML/CSS中的颜色表示方法,这些颜色都可以用于fill和stroke属性. 基本有下面这些定义颜色的方式: 1. 颜色名字: 直接使用颜色名字red ...

  4. 图片轮播器bcastr4.swf“&”符号的问题

    bcastr4.swf是一个很不错的网页图片轮播器,我一直使用它作为网站首页图片轮播的控件. http://xiaogui.org/bcastr-open-source-flash-image-sil ...

  5. (一)sql入门 导读

    从转行做软件始,就开始接触sql,但还是不怎么深入,回忆3月份找工作的时候,左关联都没有写出来,真是丢脸,以此博客做个认真的开始. 以后的日子,遇到了圆柱体的空心物体,我就应该联想到一样东西,那就是数 ...

  6. ceph_deploy部署ceph分布式文件系统

    1.前期准备:centos6.5 minimal版本3台 选择其中一台作为一个安装节点,能无密码登录其他机器.ssh-keygen ssh-keygen -i ~/.ssh/id_rsa.pub no ...

  7. ToJson

    /// <summary> /// DataTable转成Json /// </summary> /// <param name="jsonName" ...

  8. 设置Beyond Compare 为 Git 默认的比较工具

    对于Beyond Compare4,Git版本号在2.2.0之后的,请在Git中依次输入以下命令: git config --global diff.tool bc3 git config --glo ...

  9. UITableView heightForHeaderInSection遇到的坑

    出现这种现象只需要把 heightforfoot改为0.01 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSectio ...

  10. Java中excute,excuteUpdate,excuteQuery的区别

    executeQuery(String sql)      执行select语句,它返回的是查询后得到记录集(resultset). executeUpdate(String sql)      执行 ...