2014-01-05 66 views
2

我有一个使用NanoHTTPD服务HTML上下文的Android应用程序。 我在我的应用程序中使用NanoHTTP 2.0.5NanoHTTPD 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

我从IRC频道#android-dev得到了这个工作:memoryleak。这是一个编码相关的问题。

要上传的时候修复它这样做:

客户端(JavaScript):

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

服务器端(NanoHTTPD):

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