Я пытаюсь загрузить изображение в Google Cloud Cloud Bucket с помощью API Google Cloud Storage JSON. Файл загружается, но ничего не отображается.
<?php if(isset($_POST["submit"])) { // Move uploaded file to a temp location $uploadDir = 'temp/'; $filename=$_FILES["fileToUpload"]["name"]; $filesize=$_FILES["fileToUpload"]["size"]; $uploadFile = $uploadDir . basename($_FILES['fileToUpload']['name']); $authheaders = array( "Authorization: Bearer xxxxxx(my access token)", "Content-Type: image/jpeg", "Content-Length:".$filesize ); //The access-token has to be generate everytime after one-hour. if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $uploadFile)) { // Prepare remote upload data $uploadRequest = array( 'fileName' => basename($uploadFile), 'fileData' => file_get_contents($uploadFile) ); // Execute remote upload $curl = curl_init(); $url="https://www.googleapis.com/upload/storage/v1/b/[bucket_name]/o?uploadType=media&name=".$filename; curl_setopt($curl, CURLOPT_URL,$url); curl_setopt($curl, CURLOPT_HTTPHEADER, $authheaders); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $uploadRequest); $response = curl_exec($curl); curl_close($curl); echo $response; } } ?>
Я загружаю изображение через это: –
<!DOCTYPE html> <html> <body> <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"> </form> </body> </html>
Номер изображения 1
Посмотрите на номер изображения 1, файл загружается успешно. Но когда я нажимаю на нее, чтобы просмотреть ее, она отображается как на изображении №2.
Номер изображения 2