С помощью этого текущего кода, когда я отправляю байта [] (и имя пользователя) из моего интерфейса, я получаю это эхо в журнале «upload failed». У меня есть существующая папка в моем домене с именем «photosFolder», где я пытаюсь сохранить свой образ и его имя, которое я отправляю из интерфейса.
Я немного запутался, как сделать эту работу, поэтому я добавил файл move_uploaded_file, который я часто видел, когда искал эту проблему. Это правильный подход?
Это PHP-код, который у меня есть.
<?php $input = file_get_contents('php://input'); $value = json_decode($input, true); if (!empty($value)) { file_put_contents($value['photo_name'], base64_decode($value['photo_data'])); $image_name = $value['photo_name']; $image_data = $value['photo_data']; if(move_uploaded_file($image_data, "photosFolder/$image_name")) { echo "image uploaded!"; } else { echo "upload failed"; } } ?>
Я посылаю свой байт [], как это из моего интерфейса:
static public async Task<bool> createPhotoThree(string imgName, byte[] imgData) { var httpClientRequest = new HttpClient(); var postData = new Dictionary<string, object>(); postData.Add("photo_name", imgName); postData.Add("photo_data", imgData); var jsonRequest = JsonConvert.SerializeObject(postData); HttpContent content = new StringContent(jsonRequest, System.Text.Encoding.UTF8, "application/json"); var result = await httpClientRequest.PostAsync("http://myadress.com/test.php", content); var resultString = await result.Content.ReadAsStringAsync(); return true; }