NanoHTTPD 2.0.5问题,文件上传,文件名中有空格

时间:2014-01-05 23:39:29

标签: android nanohttpd

我有一个使用NanoHTTPD来提供HTML上下文的Android应用程序。 我在我的应用程序中使用 NanoHTTP 2.0.5

文件上传存在问题。 假设我上传了一个名为 kr d.mp4 的文件;它被上传但重命名为 k (从空格前的一个字符开始,直到文件名中的最后一个字符,包括扩展名被删除)。

任何包含空格的文件上传都会显示此行为。 我尝试了其他文件名:

 ORIGINAL         GOT THIS
-----------------------------
NO_SPACE.TXT      NO_SPACE.TXT  (works as expected)
ABC DEF.txt       AB
AB1234 gf.txt     AB123
A D.txt           Failed to upload ???

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

我得到了这个工作,用户的帮助来自IRC频道 #android-dev memoryleak 。这是一个编码相关的问题。

要解决此问题,请在上传时执行以下操作:

客户端(Javascript):

formdata.append("filedata", file, encodeURIComponent(file['name']));

服务器端(NanoHTTPD):

URLDecoder.decode(session.getParms().get(entry.getKey()), "UTF-8");