上传大量照片

时间:2012-05-08 09:50:14

标签: c# .net web-services ftp

我有从窗口应用程序上传1000张照片的要求。

我追随的逻辑是......首先将照片调整到本地框中,然后上传。

我尝试过使用FTP上传以及使用dotnet中的Web服务进行Http上传。

但我得到的最佳解决方案是......上传1000张照片需要100分钟。 即1分钟上传10张照片。

任何人都可以提出其他可能尝试改善效果的方法。

Lemme知道是否需要更多细节..

4 个答案:

答案 0 :(得分:4)

除了所需的带宽之外,一次上传一个文件还有一些开销。你可以尝试将它们全部压缩到一个文件(即使有许多图像格式,大小节省不会很大)并以这种方式上传,以避免逐个文件的开销。甚至可以对它们进行批处理,例如将50或100张照片写入zip文件。

答案 1 :(得分:0)

首先重新调整照片大小并批量上传照片。没有人可以增加带宽。您可以使用H.264图像压缩技术来确保不同浏览器的可靠性和一致性。

H.264 for image compression

How to implement H.264 in c# Sample1

How to implement H.264 in c# Sample 2

答案 2 :(得分:0)

我一直在努力实施一个解决方案,以便在通过WAN移动大文件时最大限度地提高传输速度。请注意,通过WAN的速度限制因素不是带宽,而是延迟和TCP窗口大小。也许这是您遇到的问题?:See explanation here

并行使用FTP传输可以提高性能,您无需手动实施解决方案。您的FTP是否支持通过多个连接发送文件?

我使用异步套接字池和自定义协议开发了自己的解决方案。与FTP相比,速度提高了许多,但这不是一个微不足道的发展......

答案 3 :(得分:0)

我首先要确保两个操作都是异步执行的,并在两者之间使用某种消息传递。因此,在处理图像时,它们被添加到消息队列中以进行上载。一旦上传,他们就会从队列中删除。这样一来,如果出现问题你就不必重新加载所有这些了。这也是我进行批量上传时遇到的问题。