#java #php #android #apache #server
#Ява #php #Android #апач #сервер
Вопрос:
В настоящее время я пытаюсь загрузить выбранное изображение на свой сервер xampp с помощью функции Java. Но функция показывает «загруженный» тост, даже если изображение вообще не было загружено. Я попытался изменить IP-адрес, чтобы посмотреть, не появилась ли ошибка, но функция все равно возвращает: «загружено».
Функция Java:
public class UploadImage extends AsyncTasklt;Void, Void, Voidgt; { private final MainActivity mainActivity; Bitmap image; String name; public UploadImage(MainActivity mainActivity, Bitmap image, String name) { this.mainActivity = mainActivity; this.image = image; this.name = name; Toast.makeText(mainActivity, "Uploading...", Toast.LENGTH_SHORT).show(); } @Override protected void onPostExecute(Void unused) { Toast.makeText(mainActivity, "uploaded", Toast.LENGTH_SHORT).show(); super.onPostExecute(unused); } @Override protected Void doInBackground(Void... voids) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); String encodedImage = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT); ArrayListlt;NameValuePairgt; dataToSend = new ArrayListlt;NameValuePairgt;(); dataToSend.add(new BasicNameValuePair("image", encodedImage)); dataToSend.add(new BasicNameValuePair("name", name)); HttpParams httpRequestParams = getHttpRequestParams(); HttpClient client = new DefaultHttpClient(httpRequestParams); HttpPost post = new HttpPost("http://my-ip/SavePicture.php"); try { post.setEntity(new UrlEncodedFormEntity(dataToSend)); client.execute(post); } catch (Exception e) { e.printStackTrace(); } return null; } private HttpParams getHttpRequestParams() { HttpParams httpRequestParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpRequestParams, 30000); HttpConnectionParams.setSoTimeout(httpRequestParams, 30000); return httpRequestParams; } }
Php:
lt;?php $name = $_POST["name"] $image = $_POST["image"] $decodedimage = base64_decode("$image") file_put_contents("profile_pictures/".$name.".JPG", $decodedimage) ?gt;