热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MVC外网上传下载实现方式(一)

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


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


文件上传时:


实现方式 为:


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


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


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


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


文件下载:


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






1 ///


2 /// 文件下载
3 ///

4 /// 要下载的文件名称
5 ///
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

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


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


转载于:https://www.cnblogs.com/vktun/p/4346875.html



推荐阅读
author-avatar
战冰_斗雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有