Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File netty通过http协议上传文件的错误_File_Http_Upload_Netty - Fatal编程技术网

File netty通过http协议上传文件的错误

File netty通过http协议上传文件的错误,file,http,upload,netty,File,Http,Upload,Netty,我不知道这是否真的是一个bug,但我确实遇到了它 当我使用HttpPostRequestDecoder帮助我接受通过HTTP上传的文件时,它出现了。 当文件名为所有英文字母或数字时,一切正常;但一旦文件名包含中文、韩文、日文和其他非英文字符,就会抛出“ErrorDataDecodeException”错误 我检查了很长时间,最后查看了源代码,发现当文件名包含其他语言时,内容主体部分是: Content-Disposition: form-data; name = "file"; filename

我不知道这是否真的是一个bug,但我确实遇到了它

当我使用HttpPostRequestDecoder帮助我接受通过HTTP上传的文件时,它出现了。

当文件名为所有英文字母或数字时,一切正常;但一旦文件名包含中文、韩文、日文和其他非英文字符,就会抛出“ErrorDataDecodeException”错误

我检查了很长时间,最后查看了源代码,发现当文件名包含其他语言时,内容主体部分是:

Content-Disposition: form-data; name = "file"; filename = "c73b1345ab18deeef6cdb220d62fc976我是汉字.jpg"; filename* = "UTF-8''c73b1345ab18deeef6cdb220d62fc976%E6%88%91%E6%98%AF%E6%B1%89%E5%AD%97.jpg"
如果是纯英文部分,则内容正文为:

Content-Disposition: form-data; name = "file"; filename = "6e3f8201c976de67aae094c72634f75e.jpg"
显然,它们是不同的,所以当我用基于行的分离来代替它时,一切都很好(这是我自己编写的一个新类)


纳蒂用的是“;”吗要分离内容体吗?这导致了这个错误。如果没有,该错误是如何发生的?

这听起来像是最近修复的错误:


请升级到最新的Netty版本

哦!非常感谢你。这就是答案。和新的我可以写新的代码!