我正在开发一个应用程序,该应用程序将通过键入发件人的IP:端口,使用HTTP服务器(带有nanoHTTPD)将文件发送到另一台设备。传输工作正常,但是我无法接收发送文件的正确文件名(接收者的浏览器将其命名为“默认”,没有任何扩展名)。这是我的HTTP服务器代码:
私有类WebServer扩展了NanoHTTPD { 公共WebServer() { 超级(8080); } @Override 公共响应服务(字符串uri,方法方法, 地图标题,地图参数, 地图文件){ //从意图中接收我文件的路径 意图意图= getIntent(); 字符串文件名= intent.getStringExtra(MainActivity.FILENAME); FileInputStream file = null; 尝试{ file =新的FileInputStream(filename); } catch(FileNotFoundException e){ e.printStackTrace(); } 返回新的NanoHTTPD.Response(Status.OK,“ /”,文件); }
我以为可以使用FileInputStream(new File(String path, String name))
它来修复它,但是它仍然无法正常工作,并且仍然为我提供了0字节文件大小的“默认”文件名。
任何人都可以给我一些想法,如何从HTTP服务器获取正确的文件名?希望有人可以在这里帮助我。谢谢!
这取决于服务器(脚本)接受什么,在发送时应添加带有文件名的标头,可以是:
Content-Disposition: attachment; filename="fname.ext"
来自http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html “ 19.5.1 Content-Disposition”的示例
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句