上传大量照片
本文关键字:照片 | 更新日期: 2023-09-27 18:33:33
我有从窗口应用程序上传 1000 张照片的要求。
我遵循的逻辑是..首先在本地框中调整照片大小,然后上传。
我尝试使用FTP上传以及在dotnet中使用Web服务的Http上传。
但我得到的最好的解决方案是...上传 100 张照片需要 1000 分钟。即上传 10 张照片需要 10 分钟。
任何人都可以建议还有什么可以尝试提高这里的性能。
莱姆知道是否需要更多细节。
除了所需的带宽外,一次上传一个文件还有开销。您可以尝试将它们全部压缩到一个文件中(即使对于许多图像格式,大小节省不会很大)并以这种方式上传,以避免逐个文件的开销。甚至将它们批处理,例如将 50 或 100 张照片转换为 zip 文件。
我一直在努力实施一种解决方案,以便在通过 WAN 移动大文件时最大限度地提高传输速度。考虑到通过WAN的速度限制因素不是带宽,而是延迟和TCP窗口大小。也许这就是您遇到的问题?:请参阅此处的说明
并行使用 FTP 传输应该可以提高性能,并且无需手动实现解决方案。您的 FTP 是否支持通过多个连接发送文件?
我使用异步套接字池和自定义协议开发了自己的解决方案。与FTP相比,速度提高了很多,但这不是一个微不足道的发展......
首先,我将确保这两个操作都是异步执行的,并在两者之间使用某种消息传递。 因此,在处理图像时,它们将被添加到消息队列中以进行上传。 上传后,它们将从队列中删除。 这样,如果出现问题,您就不必再次重新加载所有这些。 这也是我在进行批量上传时遇到的问题。
首先调整照片大小并批量上传照片。没有人可以增加带宽。您可以使用 H.264 图像压缩技术来实现不同浏览器的可靠性和一致性。
H.264 用于图像压缩
如何在 c# 示例中实现 H.264 示例 1
如何在 c# 中实现 H.264 示例 2