首页|找朋友|帮助|基金
U8记账网
Jz.u8see.com
aspupload组件在UTF-8编码下上传出错的解决办法

楼主
堕落至尊 发表于 2011-3-14 0:31:29 上一篇       下一篇
 分享到腾讯微博

1、全是utf-8编码,表单提交页面和处理页面全是Utf-8编码,选择含有中文路径的文件上件,提示错误: 系统找不到指定的路径。

Upload.CodePage = 65001 ‘表单上传须加上这句 ,

去掉上面这句,含有中文路径的可以上传了,但英文路径下中文名称还是出错。如果全是gb2312编码则不会出问题。

 

临时解决办法:
1、将UTF-8表单页以GB2312编码提交上传

 在form 增加 onsubmit="document.charset='gb2312';" accept-charset="gb2312"

accept-charset="gb2312"这句对非IE浏览器已经可以正常处理,所以iE要增加 onsubmit="document.charset='gb2312';"
2、在上传页面 无效 加入检查上传路径是否包括中文,不允许上传中文
var str = e.value.substring(0,e.value.lastIndexOf("\\")+1);

if(/[ \u4e00-\u9fa5]/.test(str))
{
alert("上传路径不得包括中文,空格,可以把图片文件换到全英文路径下再选择上传");
document.forms["form1"].reset();
}

此方法不太友好

 

最终解决办法:

经过不断测试 因为报错的是 upload.save ("c:\upload")

尝试只upload.save  不跟存储路径,暂时先保存到内存中,然后在遍历File时 file.saveas  ("c:\upload\test.jpg")  OK了,

目前测试正常!!上传的问题也算暂时解决了。

评论
>返回
 
评论:  
你还没有登录,请
Copyright © 2007- U8基金网 all rights reserved 渝ICP备07001384号-1 联系我们
www.u8see.com 你看见你发了吗