Я пытаюсь обслуживать локальные или прокси-файлы через мое приложение Java.Java-сервлет отключает расширение файла
С чем-то вроде этого
@ResponseBody
@RequestMapping(value = "/file/{file}", method = RequestMethod.GET)
public void doGet(HttpServletRequest request, HttpServletResponse response,@PathVariable("file") String f) throws IOException {
String filename = URLDecoder.decode(f, "UTF-8");
File file = new File("resources/files/", filename);
response.setHeader("Content-Type", "video/mp4");
response.setHeader("Content-Length", String.valueOf(file.length()));
response.setHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\"");
Files.copy(file.toPath(), response.getOutputStream());
}
с примером URL, такие как
example.com/file/out2KP2_1.mp4
я получаю ошибку:
Problem accessing /file/out2KP2_1.mp4. Reason:
resources\files\out2KP2_1 Caused by:
java.nio.file.NoSuchFileException: resources\files\out2KP2_1 at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
Если добавить завершающую/к url и requestMapping, это работает, но на iOS и в некоторых других местах видеоплеер, похоже, не любит загружать файл с завершающим слэш, чтобы он не соответствовал моим целям.
Любая помощь appriciated.