Ich versuche, lokale oder Proxy-Dateien über meine Java-Anwendung zu liefern.Java-Servlet schneidet Dateierweiterung ab
Mit so etwas wie dieses
@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());
}
Mit einer Beispiel-URL wie
example.com/file/out2KP2_1.mp4
ich den Fehler bekommen:
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)
Wenn ich einen nachgestellten/zum hinzufügen URL und requestMapping, es funktioniert, aber auf iOS und ein paar anderen Orten scheint der Videoplayer nicht wie eine Datei mit einem nachlaufenden laden Schrägstrich, damit es meinen Zwecken nicht entspricht.
Jede Hilfe geschätzt.