服务端下载文件

Dear200892 2021-05-07 02:25:08
从服务器下载文件是直接下载文件还是将文件以压缩包的形式下载

如果选择压缩包的形式,客户端如何操作,能够使文件压缩?

目前我使用HttpWebRequest和HttpWebResponse访问IIS,获取文件信息。
...全文
1721 点赞 收藏 29
写回复
29 条回复
Dear200892 05月10日
一天后结贴给分。
回复 点赞
luj_1768 05月10日
客户端压缩服务端程序?压缩传输是服务端自动操作的吧?可能有专用的服务层,处理传输下载有关操作,不需要上层干预,对上层是透明的。有的可能需要设置参数或者写脚本。从客户端操作可能需要相关运行权限(从客户端上传一个脚本,然后由服务端执行)。
回复 点赞
Dear200892 05月10日
引用 26 楼 luj_1768 的回复:
文件通常需要打包传输,不然会带来许多文件管理问题。现在的情况是:压缩软件通常都有打包功能,而专业的打包工具常常自带压缩算法。
那我客户端怎样才能把服务端的文件压缩呢?
回复 点赞
luj_1768 05月09日
文件通常需要打包传输,不然会带来许多文件管理问题。现在的情况是:压缩软件通常都有打包功能,而专业的打包工具常常自带压缩算法。
回复 点赞
Cool body 05月09日
不用压缩,直接下载
回复 点赞
Dear200892 05月08日
引用 23 楼 极简吧 的回复:
直接下载:https://www.cnblogs.com/guwei4037/p/3507966.html 压缩包:https://www.cnblogs.com/guwei4037/p/3499339.html
客户端能不能指定某些文件在服务端压缩? 我是使用HttpWebRequest和HttpWebResponse
回复 点赞
Dear200892 05月08日
引用 19 楼 wanghui0380 的回复:
如果没有git这种标准化管理需求,你就随便写呗。 随意给个webapi接口,比如检查更新接口,返回版本号 自己比对版本号,如果需要更新请求一个updateClientVersion?version=版本号&zip=1 这个玩意根据参数,看是否生成zip文件并返回zip文件地址,还是返回目录文件列表 然后就是下载文件 至于压缩/解压这都不是大问题几行代码解决,比如sharpzip的fastzip对象 https://www.cnblogs.com/blackbean/articles/2760683.html
客户端能不能指定某些文件在服务端压缩
回复 点赞
极简吧 05月08日
直接下载:https://www.cnblogs.com/guwei4037/p/3507966.html 压缩包:https://www.cnblogs.com/guwei4037/p/3499339.html
回复 点赞
Dear200892 05月08日
引用 20 楼 wang_peng 的回复:
压缩完再上传到服务器, 客户端更新时下载的是压缩后的文件 客户端下载完后再解压,然后覆盖客户端本地文件,不可能在服务器端压缩
没有办法下面这个操作吗? 客户端核对那些文件需要更新, 将需要更新的文件,在服务端压缩, 客户端下载刚刚压缩的压缩包。
回复 点赞
wang_peng 05月08日
引用 18 楼 Dear200892 的回复:
[quote=引用 16 楼 wanghui0380 的回复:]
引用
当您从OSS中批量下载Object时可能会遇到批量下载不方便、小文件较多时下载缓慢等问题。通过调用函数计算,可以将OSS上的Object先打包,之后将压缩包下载到本地后再解压,实现快速下载批量文件的目的。使用函数计算打包下载OSS文件的流程如下图所示。
你自己决定需要还是不需要
我想压缩,但我不知道客户端如何将服务端的文件压缩[/quote] 压缩完再上传到服务器, 客户端更新时下载的是压缩后的文件 客户端下载完后再解压,然后覆盖客户端本地文件,不可能在服务器端压缩
回复 点赞
wanghui0380 05月08日
引用 18 楼 Dear200892 的回复:
[quote=引用 16 楼 wanghui0380 的回复:]
引用
当您从OSS中批量下载Object时可能会遇到批量下载不方便、小文件较多时下载缓慢等问题。通过调用函数计算,可以将OSS上的Object先打包,之后将压缩包下载到本地后再解压,实现快速下载批量文件的目的。使用函数计算打包下载OSS文件的流程如下图所示。
你自己决定需要还是不需要
我想压缩,但我不知道客户端如何将服务端的文件压缩[/quote] 如果没有git这种标准化管理需求,你就随便写呗。 随意给个webapi接口,比如检查更新接口,返回版本号 自己比对版本号,如果需要更新请求一个updateClientVersion?version=版本号&zip=1 这个玩意根据参数,看是否生成zip文件并返回zip文件地址,还是返回目录文件列表 然后就是下载文件 至于压缩/解压这都不是大问题几行代码解决,比如sharpzip的fastzip对象 https://www.cnblogs.com/blackbean/articles/2760683.html
回复 点赞
Dear200892 05月08日
引用 16 楼 wanghui0380 的回复:
引用
当您从OSS中批量下载Object时可能会遇到批量下载不方便、小文件较多时下载缓慢等问题。通过调用函数计算,可以将OSS上的Object先打包,之后将压缩包下载到本地后再解压,实现快速下载批量文件的目的。使用函数计算打包下载OSS文件的流程如下图所示。
你自己决定需要还是不需要
我想压缩,但我不知道客户端如何将服务端的文件压缩
回复 点赞
wanghui0380 05月08日
https://help.aliyun.com/document_detail/173000.htm?spm=a2c4g.11186623.2.2.7bbf5bectxlLNq#topic4640 而我们说的现代自动化运维和部署的操作在这里。 其实也就是,编写一次性自动化脚本调用云服务提供商服务,并设定监控触发条件让他自动化调用
回复 点赞
wanghui0380 05月08日
https://help.aliyun.com/document_detail/158322.html?spm=5176.22414175.sslink.25.1b4d71c2mU670g 阿里的云oss系统也一样 当然,我还是那句话,公开算法。谁写都一样。这个不必纠结。选择压缩还是不选择压缩,完全是你自己决定 至于啥好处,区别这里写了
引用
当您从OSS中批量下载Object时可能会遇到批量下载不方便、小文件较多时下载缓慢等问题。通过调用函数计算,可以将OSS上的Object先打包,之后将压缩包下载到本地后再解压,实现快速下载批量文件的目的。使用函数计算打包下载OSS文件的流程如下图所示。
你自己决定需要还是不需要
回复 点赞
wanghui0380 05月08日
引用 14 楼 Dear200892 的回复:
[quote=引用 11 楼 wanghui0380 的回复:]压不压缩你自己说了算的。 至于你说的真实项目,也许他并不是你想象的模样 比如现在一个流行的趋势,你发布到git上,然后在通过gitsdk去实现(或者中间加自动化部署工具自动化发布到oss上,而客户端只需要给oss请求加参数他自己生成zip) 其实本身git也是如此,发布端直接发布源码,你下载则是他自动生成的zip
“自动生成”这块想了解下[/quote] 无需纠结,你自己写也是写,人家写也是。gzip算法是公开的,谁写都一样。无非就是人家写了,你省点事而已 https://www.kancloud.cn/jaychouyang88/phjc/742868 这是git自己写了,你只是调用一个指令,让他生成。比如这个例子展示的是“从主分支”生成一个zip
回复 点赞
Dear200892 05月08日
引用 11 楼 wanghui0380 的回复:
压不压缩你自己说了算的。 至于你说的真实项目,也许他并不是你想象的模样 比如现在一个流行的趋势,你发布到git上,然后在通过gitsdk去实现(或者中间加自动化部署工具自动化发布到oss上,而客户端只需要给oss请求加参数他自己生成zip) 其实本身git也是如此,发布端直接发布源码,你下载则是他自动生成的zip
“自动生成”这块想了解下
回复 点赞
Dear200892 05月08日
引用 12 楼 wang_peng 的回复:
生产环境返正我没压, 就这样已经用好多年了 再说 , 压缩和解压本身也是耗时的. 除非你是游戏,动不动就更新多少G, 但文件一定要分开下载,都放一个包肯定要加缩. C#的压缩dll百度一搜一堆
通过GZip压缩的代码已经准备好了,但是不知道怎么客户端如何服务端压缩
回复 点赞
wang_peng 05月08日
引用 10 楼 Dear200892 的回复:
[quote=引用 8 楼 wang_peng 的回复:] 那更不需要压了, 你可以一个一个文件下载, 每个文件加一个进度条 单个文件还能几百M啊,也就几M呗.多说几十M. 1万块的服务器就能抗住.
一个简单的小程序,自己的电脑做客户端,去访问自己的IIS。 如果是真实场景,需要压缩吗?[/quote] 生产环境返正我没压, 就这样已经用好多年了 再说 , 压缩和解压本身也是耗时的. 除非你是游戏,动不动就更新多少G, 但文件一定要分开下载,都放一个包肯定要加缩. C#的压缩dll百度一搜一堆
回复 点赞
wanghui0380 05月07日
压不压缩你自己说了算的。 至于你说的真实项目,也许他并不是你想象的模样 比如现在一个流行的趋势,你发布到git上,然后在通过gitsdk去实现(或者中间加自动化部署工具自动化发布到oss上,而客户端只需要给oss请求加参数他自己生成zip) 其实本身git也是如此,发布端直接发布源码,你下载则是他自动生成的zip
回复 点赞
Dear200892 05月07日
引用 8 楼 wang_peng 的回复:
那更不需要压了, 你可以一个一个文件下载, 每个文件加一个进度条 单个文件还能几百M啊,也就几M呗.多说几十M. 1万块的服务器就能抗住.
一个简单的小程序,自己的电脑做客户端,去访问自己的IIS。 如果是真实场景,需要压缩吗?
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告