我在尝试使用 FileReference.upload() 发布到 Java servlet 的 Flex 4.0 项目中。我在 POST 中发送了一些附加参数,例如专辑名称。当字符在 Latin1 字符集中时,这可以正常工作。当我尝试发布一个日文字符或一些 Unicode 字符时,它不会在 Java 端通过。
FileReference.upload() 忽略 content-type 设置并默认使用 multipart/form-data 的 Content-Type。在这种情况下,我不知道默认编码是什么。看来它不是UTF-8。
在 java 端,httpServletRequest.getCharacterEncoding() 显示为 null。该方法是 POST 但我无法确认数据是如何编码的。
所以问题是我似乎无法使用 FileReference.upload() 因为用户正在选择要上传的文件。我需要发送 Unicode,但我无法让 Flash 对其进行正确编码。不确定使用 URLLoader 是否会有所帮助,或者我什至可以将数据从 FileReference 中获取到 URLLoader 中(然后丢失进度事件)。