我已经实现了将文件上传到 DB BLOB 字段中,正如 Timo Hahn 文章中所述:
http://tompeez.wordpress.com/tag/afinputfile
代码片段:
// The event give access to an Uploade dFile which contains data about the file and its content
UploadedFile file = (UploadedFile) valueChangeEvent.getNewValue();
// Get the original file name
String fileName = file.getFilename();
一切正常,但我在文件名编码方面遇到了一些麻烦。我尝试使用 getFilename() 方法获取文件名,但它仅适用于拉丁字符集,但是对于文件名中带有 RUSSIAN 字符集的文件,它会失败,例如:
原始文件名:my_file.doc -> my_file.doc
原始文件名:заявки.png -> 70O2:8.png
有什么想法可以解决这个问题吗?
提前致谢!
2012 年 9 月 27 日更新:
我发现了有趣的错误。如果我将上面代码中的文件变量添加到手表中,我将看到_encoding属性等于“ utf8 ”。如果我将此属性更改为“ null ”,一切正常!
有任何想法吗?谢谢!