使用网上找的无组件上传类(即使用Adodb.Stream),在其他浏览器中可以正常上传图片,在IE8中上传失败。
无组件上传类在IE8中上传失败的解决办法:
将上传时的报错显示在页面上,可以看到正常情况下上传的图片文件名和路径正常,例如为test.jpg。使用IE8产生的图
片为FormStreamText_i=Content-Disposition: form-data; name="upfile"; filename="test.JPG
是IE8的默认安全机制限制远程获取本地文件的路径,只能得到文件名。可以将
FileName_j = Mid(FormStreamText_i,InstrRev(FormStreamText_i,"\")+1,FormEnd_g)
无组件上传中修改为:
FileName_j=split(FormStreamText_i,"ilename=""")(1)
FileName_j = Mid(FileName_j,InstrRev(FileName_j,"\")+1)
即提取出上面一串字符中的filename="后面的文件名。
这里正好为大家介绍下什么是无组件上传:
所谓“无组件上传”,是指通过Windows服务器内建ADO.Stream对象实现的一种文件上传方式,一般用于客户的图片,文
件等Web上传程序,相对于其他上传方式来说,无组件上传没有特殊的组件要求,但是其上传功能是继承自asp内部对象,
上传功能不是非常稳定,对于asp脚本执行时间有较高要求,并对于上传大小有一定限制。
中国数据 q:800013911转1018
无组件上传类在IE8中上传失败的解决办法:
将上传时的报错显示在页面上,可以看到正常情况下上传的图片文件名和路径正常,例如为test.jpg。使用IE8产生的图
片为FormStreamText_i=Content-Disposition: form-data; name="upfile"; filename="test.JPG
是IE8的默认安全机制限制远程获取本地文件的路径,只能得到文件名。可以将
FileName_j = Mid(FormStreamText_i,InstrRev(FormStreamText_i,"\")+1,FormEnd_g)
无组件上传中修改为:
FileName_j=split(FormStreamText_i,"ilename=""")(1)
FileName_j = Mid(FileName_j,InstrRev(FileName_j,"\")+1)
即提取出上面一串字符中的filename="后面的文件名。
这里正好为大家介绍下什么是无组件上传:
所谓“无组件上传”,是指通过Windows服务器内建ADO.Stream对象实现的一种文件上传方式,一般用于客户的图片,文
件等Web上传程序,相对于其他上传方式来说,无组件上传没有特殊的组件要求,但是其上传功能是继承自asp内部对象,
上传功能不是非常稳定,对于asp脚本执行时间有较高要求,并对于上传大小有一定限制。
中国数据 q:800013911转1018
来源:oschina
链接:https://my.oschina.net/u/197178/blog/38790