CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

上传图片出错

楼主playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))2002-05-24 18:28:00 在 Web 开发 / ASP 提问

原来没有错,到了别的公司出错了。是不是IIs的问题?  
  下面是程序:  
  <!--#include   file=../conn/conn.asp-->  
  <%  
  response.buffer=true    
  formsize=request.totalbytes  
   
  formdata=request.binaryread(formsize)    
   
  bncrlf=chrb(13)   &   chrb(10)    
   
  divider=leftb(formdata,clng(instrb(formdata,bncrlf))-1)    
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~出错  
  datastart=instrb(formdata,bncrlf   &   bncrlf)+4    
   
  dataend=instrb(datastart+1,formdata,divider)-datastart    
   
  mydata=midb(formdata,datastart,dataend)    
   
   
   
  rs.open   "select   *   from   tabnews_pic",conn,1,3  
   
  rs.addnew  
  rs("id")=session("newstmpid")  
   
  rs("fimgpic").appendchunk   mydata  
   
  rs.update  
   
  %> 问题点数:100、回复次数:13Top

1 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2002-05-24 18:31:35 得分 10

提示什么错误?Top

2 楼MeXP(秦汉风)回复于 2002-05-24 18:42:44 得分 10

错误提示是什么Top

3 楼chinareny(编程浪子)回复于 2002-05-24 19:01:43 得分 10

给出你的错误提示!Top

4 楼xxjmz_78(阿甘)回复于 2002-05-25 09:52:19 得分 10

如果程序没问题的话  
  我想应该是iis的配置问题了Top

5 楼ChinaOk(农村表哥)回复于 2002-05-25 09:55:15 得分 10

确认是哪里出错。Top

6 楼kfigri(缺氧的生鱼片)回复于 2002-05-25 10:03:10 得分 10

哈,和我的一样,,  
  我也遇到过,,是什么leftb是无效的语句  
   
  不过,后来自己就好了,,  
  我就把iis  
  stop   then   start  
  就okTop

7 楼xxjmz_78(阿甘)回复于 2002-05-25 10:07:15 得分 10

给你个例子  
  <html>    
  <head>    
  <title>保存图片到数据库</title>    
  </head>    
  <body>    
  <b>    
  <p></b>你可以找个图片试试,保存完毕后会有提示</p>    
   
  <form   METHOD="POST"   ENCTYPE="multipart/form-data"   ACTION="savetodb.asp">    
   <p>Email   :   <input   NAME="email"   VALUE="wangcq@sina.com"   size="20">  
   
   Picture   :   <input   TYPE="file"   NAME="blob">  
   
   <input   TYPE="submit"   NAME="Enter">   </p>    
  </form>    
  </body>    
  </html>    
   
  savetodb.asp    
  ----------------------------------    
  <%    
   
  Response.Buffer   =   TRUE    
  Response.Clear    
  byteCount   =   Request.TotalBytes    
   
  RequestBin   =   Request.BinaryRead(byteCount)    
  Dim   UploadRequest    
  Set   UploadRequest   =   CreateObject("Scripting.Dictionary")    
   
  BuildUploadRequest RequestBin    
   
  email   =   UploadRequest.Item("email").Item("Value")    
   
  contentType   = UploadRequest.Item("blob").Item("ContentType")    
  filepathname   =   UploadRequest.Item("blob").Item("FileName")    
  filename   =   Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))    
  picture   =   UploadRequest.Item("blob").Item("Value")    
   
  'Response.ContentType   =   contentType    
  'Response.binaryWrite   picture    
   
  set   objCn   =   server.createobject("adodb.connection")    
  set   objRst   =   server.createobject("adodb.recordset")    
  objCn.Open   "upload"    
  objrst.Open   "pic",   objcn,   1,3,2    
  objrst.addnew    
  objrst.fields("filename")=filename    
  objrst.fields("type")="gif"    
   
  objrst.fields("what").appendchunk   picture    
  objrst.update    
  response.write   "<a   href=showpic.asp?id="   &   objrst("id")   &   ">第"   &   objrst("id")   &   "个图片。</a>"    
  objrst.close    
   
  objCn.close    
  set   objrst=nothing    
  set   objcn   =   nothing    
  %>    
  <!--#include   file="upload.asp"-->    
   
  showpic.asp    
  ----------------------------------------    
  <%    
  set   objCn   =   server.createobject("adodb.connection")    
  set   objRst   =   server.createobject("adodb.recordset")    
  objCn.Open   "upload"    
  objrst.Open   "select   what   from   pic   where   id="   &   request("id"),   objcn    
   
  if   not   objrst.eof   then    
    response.binarywrite   objrst("what")    
  end   if    
  objrst.close    
  objCn.close    
  set   objrst=nothing    
  set   objcn   =   nothing    
  %>    
   
  upload.asp    
  -------------------------------------------    
  <%    
  Sub   BuildUploadRequest(RequestBin)    
    'Get   the   boundary    
    PosBeg   =   1    
    PosEnd   =   InstrB(PosBeg,RequestBin,getByteString(chr(13)))    
    boundary   =   MidB(RequestBin,PosBeg,PosEnd-PosBeg)    
    boundaryPos   =   InstrB(1,RequestBin,boundary)    
    'Get   all   data   inside   the   boundaries    
    Do   until   (boundaryPos=InstrB(RequestBin,boundary   &   getByteString("--")))    
      'Members   variable   of   objects   are   put   in   a   dictionary   object    
      Dim   UploadControl    
      Set   UploadControl   =   CreateObject("Scripting.Dictionary")    
      'Get   an   object   name    
      Pos   =   InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))    
      Pos   =   InstrB(Pos,RequestBin,getByteString("name="))    
      PosBeg   =   Pos+6    
      PosEnd   =   InstrB(PosBeg,RequestBin,getByteString(chr(34)))    
      Name   =   getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))    
      PosFile   =   InstrB(BoundaryPos,RequestBin,getByteString("filename="))    
      PosBound   =   InstrB(PosEnd,RequestBin,boundary)    
      'Test   if   object   is   of   file   type    
      If PosFile<>0   AND   (PosFile<PosBound)   Then    
        'Get   Filename,   content-type   and   content   of   file    
        PosBeg   =   PosFile   +   10    
        PosEnd   = InstrB(PosBeg,RequestBin,getByteString(chr(34)))    
        FileName   =   getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))    
        'Add   filename   to   dictionary   object    
        UploadControl.Add   "FileName",   FileName    
        Pos   =   InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))    
        PosBeg   =   Pos+14    
        PosEnd   =   InstrB(PosBeg,RequestBin,getByteString(chr(13)))    
        'Add   content-type   to   dictionary   object    
        ContentType   =   getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))    
        UploadControl.Add   "ContentType",ContentType    
        'Get   content   of   object    
        PosBeg   =   PosEnd+4    
        PosEnd   =   InstrB(PosBeg,RequestBin,boundary)-2    
        Value   =   MidB(RequestBin,PosBeg,PosEnd-PosBeg)    
        Else    
        'Get   content   of   object    
        Pos   =   InstrB(Pos,RequestBin,getByteString(chr(13)))    
        PosBeg   =   Pos+4    
        PosEnd   =   InstrB(PosBeg,RequestBin,boundary)-2    
        Value   =   getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))    
      End   If    
      'Add   content   to   dictionary   object    
    UploadControl.Add   "Value"   ,   Value      
      'Add   dictionary   object   to   main   dictionary    
    UploadRequest.Add   name,   UploadControl      
      'Loop   to   next   object    
      BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)    
    Loop    
  End   Sub    
  'String   to   byte   string   conversion    
  Function   getByteString(StringStr)    
  For   i   =   1   to   Len(StringStr)    
       char   =   Mid(StringStr,i,1)    
    getByteString   =   getByteString   &   chrB(AscB(char))    
  Next    
  End   Function    
   
  'Byte   string   to   string   conversion    
  Function   getString(StringBin)    
  getString   =""    
  For   intCount   =   1   to   LenB(StringBin)    
    getString   =   getString   &   chr(AscB(MidB(StringBin,intCount,1)))    
  Next    
  End   Function    
  %>    
  test.mdb(dsn   名称:upload)    
  ----------------------------------------    
  表pic:    
  id:自动加    
  filename:文本    
  type:文本    
  what:ole    
   
  存成单个文件,放在一个目录下,打开(必须用http://...)getfile.htm    
  上传一个.gif或.jpg就可以显示了。    
  对于大文件在显示程序(showpic.asp)中可能会用到循环和getchunk方法。自己去做。记住,由于ASP目前暂时不支持二进行制读写,只能存二进制到数据库中。    
  Top

8 楼funboy88(司令)回复于 2002-05-25 10:11:36 得分 10

iis是一个版本的么,可能版本之间的差异哟Top

9 楼ChinaOk(农村表哥)回复于 2002-05-25 16:07:21 得分 10

不是iis的问题吧。就像楼上的说的。重启一下也许就好了。  
  http://www.chinaok.net/Examples/  
  Top

10 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2002-05-25 22:14:37 得分 0

周一试试,我在两个网站都可以这样用,本次提示没有leftb函数。Top

11 楼MeXP(秦汉风)回复于 2002-05-26 00:32:16 得分 10

奇怪,提示就这么多?  
  你要不就自己用interdev调试,要不就把提示原原本本拷贝下来,在这里粘贴Top

12 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2002-05-26 17:03:51 得分 0

错误类型:  
  Microsoft   VBScript   运行时错误   (0x800A0005)  
  /chinaeol/manager/saveimg.asp,   第   16   行  
   
   
  浏览器类型:  
  Mozilla/4.0   (compatible;   MSIE   5.01;   Windows   NT   5.0)    
   
  页:  
  POST   19   bytes   to   /chinaeol/manager/saveimg.asp  
   
  POST   数据:  
   
  Microsoft   VBScript   运行时错误   错误   '800a000d'    
   
  类型不匹配:   'Server.HTMLEncode'    
   
  /iisHelp/common/500-100.asp,行186    
  Top

13 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2002-05-26 17:14:04 得分 0

知道了,原来是提交时候的设置不对。  
  不是存储的错误。Top

相关问题

  • asp图片上传出错,请指点!!!!
  • 紧急求助:上传图片出错!
  • 图片上传数据库出错,100分求救!!
  • 加载图片出错,WHY?
  • 使用IdTcpClient和IdTcpServer组件传送图片时出错: Socket Error # 10061 Connection refused
  • cos上传出错
  • _POST传递出错
  • 传值出错!(急)
  • asp里 excel插入图片出错
  • PHP文件上传图片,本地上传成功,远程上传时没出错但图上传不了.

关键词

  • 图片

得分解答快速导航

  • 帖主:playmud
  • cmsoft
  • MeXP
  • chinareny
  • xxjmz_78
  • ChinaOk
  • kfigri
  • xxjmz_78
  • funboy88
  • ChinaOk
  • MeXP

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo