文件上传错误nanohttpd

时间:2013-04-22 14:16:17

标签: java android file upload nanohttpd

我使用下面的代码使用NanoHTTPD上传文件,但没有上传任何内容,也没有给我临时路径。

代码是:

new Response(
    HTTP_OK,
    MIME_HTML,
    "<html><body><form name='up' enctype='multipart/form-data'><input type='file' name='file' /><br /><input type='submit'name='submit' value='Upload'/></form></body></html>"
);

我成功上传了上传页面,点击上传按钮后,我的网址也变为

http://IP_ADD:PORT/file?file=closed.png&submit=Upload

但没有任何内容上传到我的手机。

你可以帮帮我吗?

2 个答案:

答案 0 :(得分:4)

请记住,如果您使用的是NanoHttpd,则在处理请求时需要将上传存储为临时文件。

服务器使用标准java.io.tmpdir来确定临时文件的位置。但在大多数手机上,系统会将该变量指向SD卡。

因此,您可能希望将访问外部SD卡的权限添加到Android Manifest。

答案 1 :(得分:2)

这是解决方案

new Response(HTTP_OK, MIME_HTML, "<html><body><form name='up' method='post' enctype='multipart/form-data'><input type='file' name='file' /><br /><input type='submit'name='submit' value='Upload'/></form></body></html>");

您只需在表单中添加method='post'即可。