Я пытаюсь интегрировать хранение Supabase в свой проект Android App. У меня есть функция, которая требует хранения изображения в качестве изображения профиля пользователя, но я продолжаю встречаться с «ошибкой загрузки» с кодом ответа 404 с сервера Supabase.
Ошибки logcat:
Response Code: 404 -
404 Not Found
404
Not Found
The resource requested could not be found on this server!
Proudly powered by LiteSpeed Web Server
Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.
< /code>
Я попытался найти решение в Интернете, особенно в том, как интегрировать Supabase в приложение для Android, но ни один из них не работал для меня. < /p>
У меня есть Apiservice.java < /p>
@Multipart
@PUT("{bucket}/{fileName}")
Call uploadToS3(
@Header("Authorization") String authToken,
@Header("x-amz-acl") String acl, // Set to "public-read" if public
@Header("Content-Type") String contentType,
@Path("bucket") String bucket,
@Path("fileName") String fileName,
@Part MultipartBody.Part file
);
< /code>
И это мой код для загрузки изображения на сервере Supabase, но он не работает < /p>
private void uploadImageToSupabase(File imageFile) {
if (imageFile.length() == 0) {
Toast.makeText(getContext(), "Error: Empty file", Toast.LENGTH_SHORT).show();
return;
}
String fileName = UUID.randomUUID().toString() + ".jpg";
RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpeg"), imageFile);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", fileName, requestBody);
ApiService apiService = ApiClient.getInstance().create(ApiService.class);
Call call = apiService.uploadToS3(
SUPABASE_KEY, // Authorization token
"public-read", // ACL: public or private
"image/jpeg", // Content-Type
SUPABASE_BUCKET, // Bucket name
fileName, // File name
body
);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful()) {
String imageUrl = SUPABASE_URL + "/storage/v1/s3/" + SUPABASE_BUCKET + "/" + fileName;
saveImageDetails(imageUrl);
Toast.makeText(getContext(), "Upload successful!", Toast.LENGTH_SHORT).show();
} else {
try {
String errorBody = response.errorBody().string();
Log.e("Upload Error", "Response Code: " + response.code() + " - " + errorBody);
Toast.makeText(getContext(), "Upload failed: " + errorBody, Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call, Throwable t) {
Toast.makeText(getContext(), "Error: " + t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -side-to-s
Как я могу интегрировать хранение Supabase в мое приложение для Android на стороне клиента для хранения данных, таких ка ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение