Я настраиваю сервер Parse на компьютере AWS EC2, бесплатный тариф, для внутреннего приложения Android. Когда я загружаю изображения или другие файлы ParseFiles на сервер синтаксического анализа, либо вручную на инструментальной панели Parse (V1.4.3), либо программно через приложение, файл загружается правильно, т.е. я вижу его на инструментальной панели Parse, но когда я хочузагрузить его вручную, вместо того, чтобы дать мне URL-адрес файла, я получаю URL-адрес, который перенаправляет меня на экран Роль панели мониторинга, т. е. http://"hostip"/apps/My%20Bitnami%20Parse%20API/browser/_Role. Это пример типа URL, сгенерированного из ParseFile.getUrl (), http://3.17.23.114/undefined/files/bb5d39c5b6755dbe4efd71a49cd2ca850e17bf8d/da16d8bde4690e3a592d8b3919cecaec_image.png. Независимо от того, вошел ли в систему Parse или нет, я не могу получить доступ к файлу. Что тут происходит? Пожалуйста помоги.
Это пример кода, когда я загружаю изображения через приложение:
Uri selectedImage = data.getData ();
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
Log.i("Image Selected", "Good work");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
ParseFile file = new ParseFile("image.png", byteArray);
ParseObject object = new ParseObject("Image");
object.put("image", file);
object.put("username", ParseUser.getCurrentUser().getUsername());
object.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Toast.makeText(SecondActivity.this, "Image has been shared!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(SecondActivity.this, "There has been an issue uploading the image :(", Toast.LENGTH_SHORT).show();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
Работает отлично, просто могуне удается получить его, когда я хочу использовать URL-адрес изображения в сочетании с Glide, Picasso и т. д. или вручную.
Отправка тестового запроса через панель анализа Parse дает следующие результаты:
{
"results": [
{
"objectId": "MWGg0q2cb7",
"productName": "Bouten 5kg",
"productDescription": "Een pak bouten van het merk Country Farm.",
"createdAt": "2019-10-03T03:09:35.551Z",
"updatedAt": "2019-10-03T04:38:50.234Z",
"productPrice": 54,
"productCategory1": "Vleeswaren en Vis",
"productImage1": {
"__type": "File",
"name": "dee6f300688e099fefab0697f20793e8_021.png",
"url": "undefined/files/2eb0531f9a6b7801545ae37951c8703beed80266/dee6f300688e099fefab0697f20793e8_021.png"
},
"productExtraInfo": "5 voor 3",
"ACL": {
"*": {
"read": true,
"write": true
}
}
},
{
"objectId": "LUt4s0L05V",
"productName": "Kwie Kwie",
"createdAt": "2019-10-03T03:10:24.151Z",
"updatedAt": "2019-10-03T04:42:20.627Z",
"productPrice": 20.5,
"productImage1": {
"__type": "File",
"name": "f1021f66140fe28dcb740a332312709a_028.png",
"url": "undefined/files/2eb0531f9a6b7801545ae37951c8703beed80266/f1021f66140fe28dcb740a332312709a_028.png"
},
"productExtraInfo": ""
},
]
}