读书人

文件上传乱码,该如何解决

发布时间: 2012-01-28 22:06:13 作者: rapoo

文件上传乱码
开发环境是WIN XP。运行环境是linux SUSE10.

在开发环境跟了下代码,sysFileName 不是乱码;

到linux SUSE10下运行文件名就是乱码了。

加上这句后,sysFileName = new String(sysFileName.getBytes("GBK"), "UTF-8");

开发环境都是乱码了。

Java code
            //由用户输入的名称和创建者的id,扩展名以及时间组合生成文件名            sysFileName = UpFileEvent.generateSysFileName(fileInitName, operatorId);                        //得到指定的上传文件保存后对应的绝对路径 计算方式:配置文件中设置的路径加文件名            sysFileName=UpFileEvent.getRealPath(sysFileName)            File file = new File(sysFileName);                        wasFileUpload.write(file);



write方法
Java code
/**     * 将上传的文件写入指定的文件中      *      * @param file     * @throws Exception     */    public void write(File file) throws CustomException {        if (fileItem == null) {            throw new CustomException("fail", "upfileInvalid");        }        if (file == null) {            this.writeToFile();        } else {            this.writeFile(file);        }    }


[解决办法]
这个我感觉是linux 和XP的编码的不一样
[解决办法]
大多数的做法是 文件名是唯一的你可以用uuid实现 而真实的文件明会用另一个字段来保存的

读书人网 >J2EE开发

热点推荐