我使用下面的代码使用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
但没有任何内容上传到我的手机。
你可以帮帮我吗?答案 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'
即可。