Как исправить URL ParseFile, начиная с / undefined / file / и не работая, делая файл недоступным - PullRequest
0 голосов
/ 03 октября 2019

Я настраиваю сервер 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": ""
        },      
    ]
}
...