我知道有多种方法可以将多张图片从浏览器上传到服务器,而且上传速度取决于服务器和网络的速度。 标准做法:
Click a upload button in the website -> choose what images you want to upload -> click Submit Button to upload all the images to the server (Prompt "please wait" to user) -> Upload Successful!
但就编码部分而言,我只是想知道是否有更快的方法可以将图像从客户端设备有效地上传到服务器? (使用 Javascript 和 php)
目前我正在做的是首先在客户端先“裁剪”图像,然后将图像发送回服务器。 但这非常慢,因为 javascript 需要时间来“缩小”图像的大小。 通过“削减”,我的意思是使图像的宽度和高度更小。 有更快的方法吗?
(一些 javascript 和 php 编码示例也会有所帮助。)
最佳答案
简短回答:不,Javascript 并不慢,PHP 也不慢。
如果图像很大(几兆字节),在 javascript/php 中裁剪/调整图像大小需要一些时间。没有办法避免它。
我认为您遇到了性能问题,因为:
- 您一次上传许多图像,并且..
- 其中一些很大(以兆字节计)
在上传图片之前考虑对其进行优化。我建议你使用 kraken.io ,您可以在不改变图像质量的情况下减小图像的大小(无损 模式)。
另外,考虑分 block 上传图片,这:
- 允许您跟踪上传进度
- AJAX 驱动
分 block 上传插件有很多,这里是其中之一:
https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads
最后但并非最不重要的,看看 kraken.io 本身,也许你学到了一些关于如何加速图像上传的东西。
关于javascript - 加快网站从客户端浏览器到服务器的多张图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125297/