我試圖將Google雲端存儲集成用於文件上傳,並在存儲在Google Compute Engine中的laravel應用中提供服務。Laravel集成Google雲端存儲
這樣做的最佳做法是什麼? 這是使用Google雲端存儲的正確方式嗎?
我應該使用Storage Facade嗎?還是將本地文件上傳複製到雲端的作業?
感謝
我試圖將Google雲端存儲集成用於文件上傳,並在存儲在Google Compute Engine中的laravel應用中提供服務。Laravel集成Google雲端存儲
這樣做的最佳做法是什麼? 這是使用Google雲端存儲的正確方式嗎?
我應該使用Storage Facade嗎?還是將本地文件上傳複製到雲端的作業?
感謝
您可以使用Google APIs Client Library for PHP將請求發送到谷歌雲存儲API JSON。訪問此link for example。
更好的方法是直接上傳雲存儲。
直接上傳需要上傳文件數據只有在其他過程中一旦你必須首先把它上傳到一些臨時文件,然後從臨時文件到雲存儲。因此,當數據傳輸更多時,它會變慢,並且圖像也可能無法使用,直到作業運行並將其從臨時位置移動到雲存儲。
現在讓我們來解決如何直接使用 Laravel雲存儲上傳。下面的步驟可以實現這一目標: -
進口CloudStorageTools
use google\appengine\api\cloud_storage\CloudStorageTools;
創建桶URL直接上傳文件
$bucket_options = ['gs_bucket_name' => $my_bucket]; $cloud_storage_upload_url = CloudStorageTools::createUploadUrl('/upload/handler', $bucket_options);
$cloud_storage_upload_url
可以使用在action
表格的標籤直接上傳文件。 <form action="{{ upload_url }}" enctype="multipart/form-data" method="post">
註腳: - 我們產生上傳網址是唯一的,直到10分鐘就的創作訪問。
同樣的文檔也可以找到here。