簡體   English   中英

在將圖像保存到服務器之前檢查圖像大小

[英]Checking Image Size before it can be saved to server

美好的一天,請嘗試編寫一個應用程序,將我用Camera拍攝的圖像自動存儲到數據庫中。 但是我想在保存圖像之前檢查圖像大小(MB)。

我閱讀了Android Camera.Capture開發人員說明,並知道無法以編程方式調整大小。

另外,我知道可以在上載到數據庫之前將其存儲在一個臨時文件夾中,但是我正在尋找一種無需保存在臨時文件夾中的文件。

謝謝。

getRowBytes()* getHeight()對我來說似乎很好。

您的服務器無法查看圖像的大小,除非可以查看它。 您可以使用PHP設置最大上傳大小。 將文件作為臨時文件存儲在服務器上之后,您可以進行更詳細的分析(尺寸等)。 如果圖像“良好”,則將其移動到它的永久位置(另一個目錄或作為數據庫BLOB),否則將其刪除。

在您的相機PictureCallback中:

public void onPictureTaken(byte[] data, Camera camera)
{
  int nPictureSize = data.length;
}

壓縮圖像的長度就是字節數組的長度

如果您使用的是自定義攝像頭,則在回調中會收到一個字節數組,只需獲取此數組的長度並將其除以1024 * 1024,即可得到以MB為單位的大小。

如果您使用的是Camera Intent,則可以通過使用bitmap.getRowbytes * bitmap.getHeight找回其位圖的位圖,然后將其除以1024 * 1024,以MB為單位獲取圖像大小

暫無
暫無

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

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