windows2008+iis7无组件上传写入文件失败ADODB.Stream 错误 800a0bbc问题

现象:写入文件失败,ADODB.Stream 错误 800a0bbc

条件:在已排除一般的解决方法文件夹权限后,并且服务器为windows2008

希望写这文章可以让大家避免浪费太多时间,最快地解决问题。

一个ASP程序用到无组件上传,在本地XP SP3 IIS5.1及在Windows Server 2003 + IIS6.0上测试均为可以正常上传.到把程序放了windows2008+IIS7.0上发现内部服务器错误500,最后我把其调为可显示详细错误信息,显示为:

写入文件失败,ADODB.Stream 错误 800a0bbc

我在网上找了很多相关的解决方法,说是文夹权限或是目录问题,很显然碰到的并非为权限问题.看了很多解决方法都没用,在差不多绝望的时候,竟然看到一篇文章说windows2008显示系统时间的格式竟然是:2010/5/24,而并非是以前的2010-5-24,由于重命名上传的文件是按时间来命名的,本要求为

2010524.xls,但到windows2008平台上最后变成了2010/5/24.xls,这样则会有一个问题,就是会被当成文件夹和路径处理,最终会导致了真正的不存在目录,最后会写入出错。

如果可以,你可以试一下response.write 写出整个另存为的路径出来即可看到如:***/uploadfile/2010/5/24.xls,而且实际应该为::***/uploadfile/2010524.xls才是正确的

解决方法:

只要为“2010/5/24”中的“/”替换为“”(空)即可:

原uploadsave.asp中的函数为:

function makefilename(fname)
 fname = date()
 fname = replace(fname,"-","")
 fname = replace(fname," ","")
 fname = replace(fname,":","")
 makefilename=fname&".xls"
end function

在其中加上一句:fname = replace(fname,"/","")

最后为:

function makefilename(fname)
 fname = date()
 fname = replace(fname,"-","")
 fname = replace(fname,"/","")
 fname = replace(fname," ","")
 fname = replace(fname,":","")
 makefilename=fname&".xls"
end function

以上所述是小编给大家介绍的windows2008+iis7无组件上传写入文件失败ADODB.Stream 错误 800a0bbc问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • adodb.stream读文件到数组的代码

    Function filenum(filename,i) Dim st,s  Set st= CreateObject("ADODB.Stream") st.Type = 2 '流类型为文本 st.Mode = 3 '模式为读写 st.Open st.LineSeparator=13  st.LoadFromFile filename Do While Not St.EOS  s = Split(st.readtext(), vbCrLf)    Loop  'MsgBox UBoun

  • JScript中使用ADODB.Stream判断文件编码的代码

    一开始使用ASCII编码来读取文本数据,模拟读取二进制数据,但是发现如果字符编码大于127时,只会得到小于128的值,相当于和128取余了,因此ASCII编码是不行的. 继续寻找,在CodeProejct.com找到一篇文章<Reading And Writing Binary Files Using JScript>,里面刚好有我需要的内容. 其实说来也简单,就是把编码换一下,使用437,这个是IBM扩展过的ASCII编码,把ASCII编码的最高位也利用起来,将字符集中的字符从128个扩展到

  • 利用MSXML2.XmlHttp和Adodb.Stream采集图片

    利用MSXML2.XmlHttp和Adodb.Stream 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <

  • asp下用ADODB.Stream代替FSO读取文本文件

    '文件内容读取. 复制代码 代码如下: Function LoadFile(ByVal File) Dim objStream On Error Resume Next Set objStream = Server.CreateObject("ADODB.Stream") If Err.Number=-2147221005 Then Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本

  • 用ADODB.Stream转换

    用ADODB.Stream转换,用streamtochar这个函数 <HTML> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Big5"> <title>test</title> <SCRIPT LANGUAGE="JavaScript"> <!-- wi

  • ADODB.Stream组件Charset属性值集合

    翻了半天MSDN后找到的,|后边是别名 复制代码 代码如下: ANSI_X3.4-1968|iso-8859-1  ANSI_X3.4-1986|iso-8859-1  arabic|iso-8859-6  ascii|iso-8859-1  ASMO-708  Big5  chinese|gb2312  CN-GB|gb2312  cp1256|windows-1256  cp367|iso-8859-1  cp819|iso-8859-1  cp852|ibm852  cp866|ibm86

  • asp adodb.stream对象的方法/属性

    adodb.stream对象的方法/属性 Cancel 方法      使用方法如下      Object.Cancel      说明:取消执行挂起的异步 Execute 或 Open 方法的调用. Close  方法      使用方法如下      Object.Close      :关闭对像 CopyTo 方法      使用方法如下      Object.CopyTo(destStream,[CharNumber])      说明:将对像的数据复制,destStream指向要复

  • 使用asp下的adodb.stream 下载文件而不是打开

    在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里.而在很多时候我们希望能直接弹出下载提示框让用户下载,我们该怎么办呢?这里有两种方法:  1.设置你的服务器的iis,给doc等后缀名做映射. 2.在向客户端发送时设置其contenttype.  下面详细说明方法2  程序代码:  复制代码 代码如下: <% Response.Buffer = true Response.Clear dim url Dim fso,fl,flsize dim 

  • exe2swf 工具(Adodb.Stream版)

    Exe2swf ,将exe 格式的 flash文件转为swf 格式.网上有很多这方面的工具,这个是用vbscript写的.用法: 将下面代码存为 exe2swf.vbs  将exe格式的flash拖放在此文件上,即可生成swf文件, 更新日期:2005-01-20 09:30 复制代码 代码如下: 'exe2swf工具, '用法:将exe格式的flash拖放在此文件上,即可生成swf文件, 'haiwa@http://www.51windows.Net '感谢jimbob提供帮助. dim As

  • windows2008+iis7无组件上传写入文件失败ADODB.Stream 错误 800a0bbc问题

    现象:写入文件失败,ADODB.Stream 错误 800a0bbc 条件:在已排除一般的解决方法文件夹权限后,并且服务器为windows2008 希望写这文章可以让大家避免浪费太多时间,最快地解决问题. 一个ASP程序用到无组件上传,在本地XP SP3 IIS5.1及在Windows Server 2003 + IIS6.0上测试均为可以正常上传.到把程序放了windows2008+IIS7.0上发现内部服务器错误500,最后我把其调为可显示详细错误信息,显示为: 写入文件失败,ADODB.S

  • 关于用ADO STREAM做的无组件上传程序简单介绍

    前面有人贴了用ADO STREAM做的无组件上传程序,今天我做一下关于它的简单介绍 以前,如果要用ASP操作文件,比如移动.复制.删除或者创建一个记事本文件,基本上都是通过FILESYSTEMOBJECT对象做的,当然,这个东西很专业,也没说什么不好,它可以提供完善的文件信息,比如建立时间,大小,上次修改时间等等,但是如果你不做痛苦的高代价的字符格式转换的话,利用它你无法直接操作二进制文件. 但是,现在我们介绍的stream物件可以同时操作文本对象和二进制对象,要求是您的机器上要安装有ADO2.

  • Asp无组件上传进度条解决方案

    一.无组件上传的原理我还是一点一点用一个实例来说明的吧,客户端HTML如下.要浏览上传附件,我们通过<input type="file">元素,但是一定要注意必须设置form的enctype属性为"multipart/form-data": <form method="post" action="upload.asp" enctype="multipart/form-data">&l

  • ant design中upload组件上传大文件,显示进度条进度的实例

    Upload组件是自带上传进度,但是样式调起来很麻烦,我们要做的就是自定义一个 首先页面要引入组件 Upload, Progress uploadAttachmentsProps = { action: `/api/upload`, showUploadList: false, // 这里关闭自带的列表 beforeUpload: (info) => { /* 上传前的钩子,可以用来判断类型,和大小 if ('是否符合类型') { return false } if ('是否符合类型') { r

  • php上传大文件失败的原因及应对策略

    为什么上传大文件总是失败,但是上传小文件就没有问题.小编也不得其解,网上搜其原因,整理了一篇关于php上传大文件失败的原因和解决办法的文章,分享给大家. 下面分别是各种原因以及解决办法: 第1种情况:文件上传时存放文件的临时目录必须是开启的并且是 PHP 进程所有者用户可写的目录.如果未指定则 PHP 使用系统默认值. php.ini文件中upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件并对该文件夹有写入的权限. 第2种情况:max_

  • joomla jce editor 解决上传中文名文件失败问题

    不论是JCE还是CKEDITOR,都没解决中文名文件的问题,要么上传失败,要么传上去了中文名不能被web访问.相比之下,JCE更加人性化,比如文件上传后默认被选中,不需用户在那么小的弹出窗口去上下翻搜寻刚刚上传的文件.研究了下JCE的源码,改掉保存文件名的方式,使用纯数字来作为文件名. 到joomla安装的目录,找到components/com_jce/editor/extensions/browser/file.php,修改 1017 - 1020 行: 复制代码 代码如下: // strip

  • 6行代码实现无组件上传(author:stimson)

    原理代码: strFileName = Request.QueryString("file1")Set objStream = Server.CreateObject("ADODB.Stream")objStream.Type = 1 ' adTypeBinaryobjStream.OpenobjStream.LoadFromFile strFileNameobjStream.SaveToFile Server.mappath("123_onweb.gif

  • 如何实现无组件上传二进制文件?

    <!--METADATA TYPE="typelib"      UUID="00000205-0000-0010-8000-00AA006D2EA4"    NAME="ADODB Type Library"--><%  Dim objStream  Set objStream = Server.CreateObject("ADODB.Stream") ' 创建一个Stream 对象. objStream.

  • 解决IIS8.5中ASP上传大文件出现 Request 对象 错误 ASP 0104 : 80004005 错误的方法

    今天将一台服务器升级到了最新的IIS8.5,然后部署网站,上面有一个比较老的ASP站点发现了问题,上传稍大一点的文件就出错,传个几十K的文件到没有问题,我们都知道IIS默认上传文件大小是30M,而现在上传1M都有问题,下面给出解决方法. 上传不了的出错提示为:Request 对象 错误 'ASP 0104 : 80004005',原因是站点ASP的"限制属性"设置中"最大请求实体主体限制"默认只允许200K,将其改大一点就可以了,相关截图如下所示: 图中最大请求实体

  • SpringMVC结合ajaxfileupload.js实现文件无刷新上传

    直接看代码吧,注释都在里面 首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc

随机推荐