2013-01-11 83 views
0

我用下面的PHP代碼從移動設備上傳的圖片:發送圖像發佈到Amazon S3

<?php 
    $base=$_REQUEST['image']; 
    $binary=base64_decode($base); 
    header('Content-Type: bitmap; charset=utf-8'); 
    $file = fopen('uploaded_image.jpg', 'wb'); 
    fwrite($file, $binary); 
    fclose($file);?> 

我想這些圖像直接發送到Amazon的S3服務。我每次都必須在磁盤上寫入JPEG嗎?我不能只將二進制文件發送到Amazon S3並讓它生成JPEG文件?我很擔心當地的寫作會影響我的服務器。

回答

1

您可能需要考慮使用s3fs將S3存儲桶安裝爲服務器上的本地驅動器。然後,您可以將文件直接寫入該安裝位置。如果您希望應用程序能夠讀取這些文件,您還可以指定一個本地目錄作爲s3fs掛載的緩存,以加快速度。

這裏是s3fs谷歌代碼頁面的鏈接:http://code.google.com/p/s3fs/

+0

似乎是一個好主意。這是否意味着我不需要AWS PHP SDK?如果是這樣,你能給我一些關於如何在我的服務器上安裝存儲桶以及如何將圖像發佈到其中的指針嗎? –

+1

是的,爲此目的,您不需要SDK,因爲從PHP的角度來看,這只是本地存儲。我已經添加了一個鏈接到s3fs項目網站,你可以從wiki那裏獲得安裝程序。 –