Я пытаюсь загрузить изображение с помощью URL-адреса через созданную мной службу, и когда я проверяю каталог файлов моего устройства с помощью отладчика Android Studio, я вижу файл на устройстве:
Красный файл - это загруженный файл, о котором идет речь.Зеленый файл изображения - это файл, который я вручную перетащил в каталог через проводник Windows.
Я могу успешно видеть и открывать зеленыйфайл в приложении Галерея, но красный файл (и все остальные файлы, перечисленные в этом каталоге) не найден.Я не вижу их в проводнике Windows.Я должен идентифицировать их как изображения где-то в моем коде, чтобы файловая система знала, что это изображение?
Это часть, где я загружаю изображение:
Request.Builder builder = new Request.Builder();
builder = builder.url(downloadFileUrl);
builder = builder.addHeader("RANGE", "bytes=" + existLocalFileLength);
Request request = builder.build();
Call call = okHttpClient.newCall(request);
Response response = call.execute();
if (response != null && response.isSuccessful()) {
RandomAccessFile downloadFile = new RandomAccessFile(existLocalFile, "rw");
downloadFile.seek(existLocalFileLength);
ResponseBody responseBody = response.body();
InputStream inputStream = responseBody.byteStream();
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
byte data[] = new byte[102400];
long totalReadLength = 0;
int readLength = bufferedInputStream.read(data);
while (readLength != -1) {
if (getDownloadManager().isDownloadPaused()) {
ret = DOWNLOAD_PAUSED;
break;
} else if (getDownloadManager().isDownloadCanceled()) {
ret = DOWNLOAD_CANCELED;
break;
} else {
downloadFile.write(data, 0, readLength);
totalReadLength = totalReadLength + readLength;
int downloadProgress = (int)((totalReadLength + existLocalFileLength) * 100 / downloadFileLength);
getDownloadManager().updateTaskProgress(downloadProgress);
readLength = bufferedInputStream.read(data);
}
}
}