Я пишу простой фрагмент, чтобы загрузить файл с локального сервера.Получить имя файла при загрузке с файлом DownloadManager
Uri uri = Uri.parse(url);
DownloadManager.Request request = new DownloadManager.Request(uri);
String filePath= null;
filePath = getApplicationContext().getFilesDir().getAbsolutePath();
filePath = this.getFilesDir().getAbsolutePath();
HERE-----**//request.setDescription("Downloading GeoJSON").setTitle("filename");**
//request.setDestinationUri(Uri.parse(filePath));
request.setDestinationInExternalPublicDir("Folder", "files");
request.setVisibleInDownloadsUi(true);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setMimeType("application/octet-stream");
DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
downloadReference = downloadManager.enqueue(request);
Я хочу, чтобы установить имя файла в заголовке, и я также хочу, чтобы сохранить файл с тем же именем.
Я знаю, что мы можем извлечь имя файла в BroadcastReceiver
, но эта трансляция будет получена только после завершения загрузки.
Ниже приводится код веб-службы -
@GET
@Produces(MediaType.APPLICATION_OCTET_STREAM)
@Path("/geojson2")
public Response getFile() {
File file = new File(GEOJSON_FILE_PATH);
return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
.header("Content-Disposition", "attachment; filename=" + file.getName()) //optional
.header("Content-Length", file.length()+"")
.build();
}
URL-адрес веб-службы выглядит следующим образом - http://localhost:8080/NFZ_WS/rest/hello/geojson
Итак, мой вопрос заключается в том, чтобы получить имя файла, а enqueuing в URI. Скажите, пожалуйста, нужно ли мне редактировать веб-сервис.
Извините, но если вы попросите загрузить файл, то вы уже знаете название этого файла, о котором я думаю. Пожалуйста, дополните. – greenapps
Пожалуйста, расскажите, как выглядит используемый URL. Имя файла в заголовке? Название чего? – greenapps
@greenapps: URL-адрес выглядит так: http: // localhost: 8080/NFZ_WS/rest/hello/geojson'. Я не получаю имя файла из url. –