【问题标题】:NanoHTTPD 2.0.5 issue with file upload with spaces in filenameNanoHTTPD 2.0.5 文件上传问题,文件名中有空格
【发布时间】:2014-01-05 23:39:28
【问题描述】:

我有一个使用 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 ???

我该如何解决这个问题?

【问题讨论】:

    标签: android nanohttpd


    【解决方案1】:

    我在用户 memoryleak 的 IRC 频道 #android-dev 的帮助下完成了这项工作。这是一个与编码相关的问题。

    要在上传时修复它:

    客户端(Javascript):

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

    服务器端(NanoHTTPD):

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多