P +886 90 537 8918 | E hello@bdigital.asia

Insights

從IOS上傳圖片至LARAVEL網站

當我們用Lavarel架網站,或處理有圖片上傳欄位的網頁應用程式,在儲存從iOS相簿或相機上傳的圖片時,可能多少會遇到一些狀況。本文將簡單介紹一些減少上傳圖片時的意外狀況,確保圖檔妥善保存的技巧。

檢查檔案大小

PHP預設的上傳檔案尺寸上限是2M,這對大部分手機拍攝的影像而言都太小了。尤其像是iPhone配備了高畫質相機,就算有不錯的壓縮功能,檔案大小常常還是會超出這個限制。
可以透過編輯以下這幾行php.ini的程式碼,來把檔案大小限制增加到5M到10M:

post_max_size = 10M 
upload_max_filesize = 8M

確認有安裝LIBJPEG

如果Lavarel跳出錯誤訊息Unable to init from given binary data (尤其是有用Intervention的時候),代表你的伺服器沒有安裝libjpeg圖像庫。libjpeg是用來控制jpeg圖檔的函式庫。
用以下指令在Ubuntu伺服器安裝libjpeg:

sudo apt-get install libjpeg-dev

利用INTERVENTION IMAGE擴充套件處理IOS圖片

如果已經順利上傳iOS圖檔,卻發現上傳後的圖片被旋轉了,或方向不對,那麼建議使用Intervention來處理上傳後的圖片。
Intervention是一個PHP影像處理庫,跟Laravel可以結合得很好,而且介面操作簡易。
可以從Intervention的github頁面更深入了解這個擴充套件:

https://github.com/Intervention/image

用composer把Intervention安裝到專案:

php composer require intervention/image

在class裡使用Intervention Image:

<?php

use Intervention\Image\Facades\Image;

處理上傳的圖檔、修正方向:

$image = Image::make($file->path()); 
$image->orientate();
$img->save($path);

這個函式庫也可以輕鬆處理其他事項,例如調整大小、旋轉、擷取等。


如果你在網頁影像處理或控制的部分卡關,而這篇貼文有幫助到你,或是你有興趣跟BDigital合作,歡迎聯絡我們。

 


最新文章

彈性工作指南

 

繼續閱讀

為臺灣電商客製化Woo Commerce結帳頁面

 

繼續閱讀

從IOS上傳圖片至LARAVEL網站

 

繼續閱讀