簡體   English   中英

圖片上傳和處理,是服務器端還是客戶端?

[英]Image upload and processing, server side or client side?

我的網站要求圖像平方。 目前,我有一個非常基本的圖像上傳工具。 在服務器上用PHP上傳圖像並調整大小並平方。 這會導致以下問題:-使用大量服務器資源-圖像通常不完美地平方-用戶沒有進度的跡象,尤其是當他們嘗試上傳大圖像時出現問題

我現在開始考慮植入一個全新的圖像上傳頁面。 您會推薦什么,繼續使用PHP處理。 我想也許我可以在客戶端(我們使用jQuery)做到這一點,是否有任何好的現有庫? 做這個客戶端是個好主意。 什么是好的PHP / javascript工作流程?

堅持使用可靠的服務器端解決方案,嘗試使用ImageMagick進行調整大小,而不是使用PHP的內置圖像處理功能。

根據我們的經驗,它的效果要好得多。

您可以嘗試使用JCrop之類的jQuery裁剪插件,該插件支持比率鎖定以確保圖像平方。

請記住,客戶端沒有什么是100%安全的,因此任何驗證也必須在服務器端進行重復。 這可能意味着檢查圖像的寬度/高度,並在必要時在PHP中再次進行裁剪。

如果您要談論更改實際的圖像數據,則不能完全依靠客戶端解決方案,不是所有的瀏覽器都具有所需的功能。 對於無法在js中執行此操作的瀏覽器,您可以使用Flash,但是由於需要兩個上載器,因此開始變得非常快。

我建議在支持該功能的瀏覽器中執行此操作,對於不支持該功能的瀏覽器,請依靠服務器端解決方案。 您可以通過在隊列中處理資源來分散資源,而不是在上傳時立即解決(如果仍然存在問題)。

Canvas是在現代瀏覽器中執行此操作的好方法,您不需要插件。 在這里查看如何獲取要上傳的圖像數據。

https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas

這是一個庫: http : //www.nihilogic.dk/labs/canvas2image/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM