ADODB.Stream 错误 '800a0bba' 文件无法被打开

错误是ADODB.Stream错误'800a0bba'文件无法被打开错误在objStream.LoadFromFilestrFilePath<%DimFso,FileEx... 错误是ADODB.Stream 错误 '800a0bba' 文件无法被打开
错误在objStream.LoadFromFile strFilePath
<%
Dim Fso,FileExt,strFilePath,Mime
strFilePath = "e:\krlanguage\样板.xls"
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
FileExt = Fso.GetExtensionName(strFilePath)
Set fso=Nothing

Select Case FileExt
Case "doc"
Mime="Application/msword"
Case "xls"
Mime="Application/msexcel"
End Select

Call OutPut(strFilePath,Mime)

Function OutPut(strFilePath,Mime)
Response.ContentType = Mime
Const adTypeBinary = 1
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
End Function
%>
展开
 我来答
Anix2012
2017-09-22
知道答主
回答量:12
采纳率:100%
帮助的人:2.5万
展开全部

这是可能的原因:文件名称中包含有中文字符。

我运行的脚本中

//----------代码分割线-------------

var args = WScript.Arguments;

if(args.length>0) {

var filepath = args(0)||'';

var stream = new ActiveXObject("ADODB.Stream"),

source='',

result='';

stream.Mode = 3;  // 常用值 1:读,2:写,3:读写

stream.Type = 2;  // 1:二进制,2:文本(默认)

stream.Charset = 'UTF-8';  // 指定编码

stream.Open();

stream.LoadFromFile(filepath);

source = stream.ReadText(-1);  // 读取全部内容

stream.Close();

//----------代码分割线--End-----------

stream.LoadFromFile(filepath);就出现了错误

后来把文件名称去掉中文名,就运行正确了。

匿名用户
2013-04-23
展开全部
把那个中文文件改成英文的试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式