Я пытаюсь загрузить файл в Google Cloud Storage на пару дней.
upload.php
$filedata = $_FILES['fileToUpload']['tmp_name'];
$filename = $_FILES["fileToUpload"]["name"];
$filesize = $_FILES["fileToUpload"]["size"];
$authheaders = array(
"Authorization: Bearer [My token]",
"Content-Type: image/jpeg",
"Content-Length:".$filesize
);
$uploadRequest = array(
'file' => file_get_contents($_FILES['fileToUpload']['tmp_name'])
);$url="https://www.googleapis.com/upload/storage/v1/b/bucket/o?uploadType=media&name=".$filename;
$curl = curl_init();
curl_setopt($curl, CURLOPT_POSTFIELDS, $uploadRequest);
curl_setopt($curl, CURLOPT_HTTPHEADER, $authheaders);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
$response = curl_exec($curl);
curl_close($curl);
print_r($response);
main.php
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload"><br>
<input type="submit" value="Upload Image" name="submit">
Загрузка была в порядке. но это всегда показывает черное изображение.
Несмотря на размер изображения (682,72 КБ)
введите описание изображения здесь
Пожалуйста, сохраните меня во всем черном изображении 🙁
Вот пример облачного хранилища Google с curl
https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload
Задача ещё не решена.
Других решений пока нет …