客户端是c# wpf开发,布局是有两个以上的文件上传框,都是大文件,至少有500M,服务器端的接口是PHP开发,请问各位有没有好的思路提升客户端的上传用户体验?服务器端又应该如何接收这些大文件数据呢?如果提供伪代码是再好不过了,谢谢!
客户端是c# wpf开发,布局是有两个以上的文件上传框,都是大文件,至少有500M,服务器端的接口是PHP开发,请问各位有没有好的思路提升客户端的上传用户体验?服务器端又应该如何接收这些大文件数据呢?如果提供伪代码是再好不过了,谢谢!
没接触过,可能思路就是,配置文件得改,比如post_max_size,upload_max_filesize等参数,服务器的一些配置可能也得改,第二个就是大文件得分片,切割成小文件,html5有对文件处理的api,可以搜索一下。
用http上传,上传图片过程中显示上传的进度
**
**(我用了tp的Upload类,如果你不是用thinkphp框架,要稍微改动一下):
$upload = new Upload([
'maxSize' => 20 * 1024 * 1024,
'exts' => ['jpg', 'gif', 'png', 'jpeg'],
'rootPath' => ROOT . '/Uploads/Pictures/',
'saveName' => array('uniqid', '')
]);
$info = $upload->upload();
用HttpWebRequest 发送http请求(具体代码有点陌生了)
2 回答1.3k 阅读✓ 已解决
2 回答824 阅读✓ 已解决
1 回答901 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答882 阅读
1 回答873 阅读
1 回答803 阅读
http传大文件可能会有各方面的问题,比如web容器的限制,php处理的限制
这两样的限制不太熟,不过按照平时的经验应该会有坑,到时候优化的重点可能会在他们的配置上,比较蛋疼。
所以在C#范围内给你想一个解决方案吧
用Socket类直接建立TCP连接,或者用NetworkStream类处理也可以
如果有加密传输需求就再加一层SslStream
需要注意几点:合适的buffer大小,文件分片,文件分片的完整性校验,最终合并的完整性校验。