Я очень новичок во всем этом. Я пытаюсь загрузить загруженное изображение из своего iPhone-приложения и сохранить его в своем хранилище Google Cloud Storage (gs: // app / users / profile_pics /) с помощью PHP. Я смог сделать это с локальной файловой системой, но не работает с облачным хранилищем Google.
**iOS Code (this works)** ... [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[NSData dataWithData:profile_pic_data]]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; ... **PHP Code to local file system (works using local file system)** if($_POST) { ... //Make user directory to house files $upload_dir = 'user_data/' . $user_id . '/'; $path = mkdir("$upload_dir", 0777); //Save file to newly created folder $file = 'profile_pic.jpg'; $profile_pic_path = $upload_dir . $file; if (move_uploaded_file($_FILES['file']['tmp_name'], $profile_pic_path)) { //Profile pic uploaded, Update profile pic field in database $query = "UPDATE users SET profile_image_path='$upload_path' WHERE email='$user_email'"; if(mysql_query($query)){ echo json_encode(array('success' => 1,'info_message' => "")); // Account fully created! } ... **PHP using Google Cloud Storage (not working, trying the most simple version first)** ... if($_POST) { ... $gs_name = $_FILES['file']['tmp_name']; move_uploaded_file($gs_name, 'gs://socalityapp/users/profile_pics/profile_pic.jpg'); ...
Кажется, я не могу его хранить. Я знаю, что остальная часть моего php работает, потому что я сохраняю профили в своей базе данных Google Cloud SQL.
Помощь или критика (iOS, PHP и т. Д.) Были бы очень благодарны !!!
Облачное хранилище не находится на той же машине, что и приложение. Вы никогда не сможете использовать локальную файловую систему в appengine.
Когда вы получаете сообщение с отправкой формы, вам необходимо передать эти данные изображения в хранилище. Я не мог видеть пример php, но вы можете ссылаться на API JSON для взаимодействия с хранилищем. Вы можете использовать Buzz для простой загрузки
POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=media&name=myObject