CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp+图片上传问题 + 急!

楼主llbd(谁还比我菜??)2006-07-03 19:42:25 在 Web 开发 / ASP 提问

各位大虾帮帮忙了,就是图片上传(无组件),要求数据库保存图片路径及名称,图片保存到站点的文件夹内,并且前台输入图片名称能查询到该图片,有图片连接。 问题点数:60、回复次数:6Top

1 楼llbd(谁还比我菜??)回复于 2006-07-03 19:46:42 得分 0

谁能帮忙做一下谢谢了。。。Top

2 楼jml1691(小齐)回复于 2007-01-12 11:38:48 得分 60

!!!Top

3 楼JIAWX9203()回复于 2007-01-12 11:43:26 得分 0

建议用upload_5xsoft.incTop

4 楼denggaojian()回复于 2007-01-12 11:56:18 得分 0

html如下  
    <input   name="cppic"   type="text"   id="cppic"   size="30">    
                                                                              &nbsp;   <input   type="button"   name="Submit2"   value="浏览"   onClick="window.open('upload_flash.asp?formname=cpform&editname=cppic&uppath=cppic&filelx=jpg','','status=no,scrollbars=no,top=20,left=110,width=420,height=165')">  
  ******************************************************************************  
  upload_flash.asp如下  
  <%  
  uppath=request("uppath")&"/" '文件上传路径  
  filelx=request("filelx") '文件上传类型  
  formName=request("formName") '回传到上页面编辑框所在Form的Name  
  EditName=request("EditName") '回传到上页面编辑框的Name  
  %>  
  <html>  
  <head>  
  <title>图片上传</title>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <style   type="text/css">  
  <!--  
  td{font-size:12px}  
  a{color:#000000;text-decoration:   none}  
  a:hover{text-decoration:   underline}  
  .tx{height:16px;width:30px;border-color:black   black   #000000;border-top-width:0px;border-right-width:   0px;   border-bottom-width:   1px;   border-left-width:   0px;   font-size:   12px;   background-color:   #eeeeee;   color:   #0000FF}  
  .button{font-size:12px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:   0px;   height:   16px;   width:   80px;   background-color:   #eeeeee;   cursor:   hand}  
  .tx1{height:20px;width:30px;font-size:12px;border:1px   solid;border-color:black   black   #000000;color:   #0000FF}  
  -->  
  </style>  
  <script   language="javascript">  
  <!--  
  function   mysub()  
  {  
  esave.style.visibility="visible";  
  }  
  -->  
  </script>  
  </head>  
   
  <body   bgcolor="#FFFFFF"   text="#000000">  
  <form   name="form1"   method="post"   action="upfile_flash.asp"   enctype="multipart/form-data"   >  
      <div   id="esave"   style="position:absolute;   top:18px;   left:40px;   z-index:10;   visibility:hidden">    
          <TABLE   WIDTH=340   BORDER=0   CELLSPACING=0   CELLPADDING=0>  
              <TR><td   width=20%></td>  
  <TD   bgcolor=#104A7B   width="60%">    
  <TABLE   WIDTH=100%   height=120   BORDER=0   CELLSPACING=1   CELLPADDING=0>  
  <TR>    
                      <td   bgcolor=#eeeeee   align=center><font   color=red>正在上传文件,请稍候...</font></td>  
  </tr>  
  </table>  
  </td><td   width=20%></td>  
  </tr></table></div>  
      <table   width="400"   border="1"   cellspacing="0"   cellpadding="3"   align="center"   bordercolordark="#FFCC00"   bordercolorlight="#FFCC00">  
          <tr   bgcolor="#FFCC00">    
              <td   height="22"   align="left"   valign="middle"   bgcolor="#FFE479"   width="400">&nbsp;图片上传    
                  <input   type="hidden"   name="filepath"   value="<%=uppath%>">  
                  <input   type="hidden"   name="filelx"   value="<%=filelx%>">  
                  <input   type="hidden"   name="EditName"   value="<%=EditName%>">  
                  <input   type="hidden"   name="FormName"   value="<%=formName%>">  
                  <input   type="hidden"   name="act"   value="uploadfile">  
              </td>  
          </tr>  
          <tr   align="center"   valign="middle">    
              <td   align="left"   id="upid"   height="80"   width="400">   选择文件:    
                  <input   type="file"   name="file1"   style="width:300'"   class="tx1"   value="">  
              </td>  
          </tr>  
          <tr   align="center"   valign="middle"   bgcolor="#eeeeee">    
              <td   bgcolor="#FFE479"   height="24"   width="400">    
                  <input   type="submit"   name="Submit"   value="·   开始上传   ·"   class="button"   onClick="javascript:mysub()">  
              </td>  
          </tr>  
      </table>  
  </form>  
  </body>  
  </html>  
  ******************************************************************************  
  Top

5 楼denggaojian()回复于 2007-01-12 11:57:01 得分 0

upfile_flash.asp如下  
  ********************************************************************************  
  <!--#include   file="upload_wj.inc"-->  
  <style>  
  td{font-size:9pt;line-height:120%;color:#353535}    
  body{font-size:9pt;line-height:120%}    
   
  a:link                     {   color:   #000000;   text-decoration:   none   }  
  a:visited               {   color:   #000000;   text-decoration:   none   }  
  a:active                 {   color:   #000000;   text-decoration:   none   }  
  a:hover                   {   color:   #336699;   text-decoration:   none;   position:   relative;   right:   0px;   top:   1px   }  
  </style>  
  <%  
  set   upload=new   upload_file  
  if   upload.form("act")="uploadfile"   then  
  filepath=trim(upload.form("filepath"))  
  filelx=trim(upload.form("filelx"))  
   
  i=0  
  for   each   formName   in   upload.File  
  set   file=upload.File(formName)  
     
    fileExt=lcase(file.FileExt) '得到的文件扩展名不含有.  
    if   file.filesize<100   then  
    response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">请先选择你要上传的文件! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
    end   if  
    if   (filelx<>"swf")   and   (filelx<>"jpg")   then    
    response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">该文件类型不能上传! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
    end   if  
    if   filelx="swf"   then  
  if   fileext<>"swf"     then  
  response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">只能上传swf格式的Flash文件! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
  end   if  
    end   if  
    if   filelx="jpg"   then  
  if   fileext<>"gif"   and   fileext<>"jpg"     then  
  response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">只能上传jpg或gif格式的图片! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
            end   if  
    end   if  
    if   filelx="swf"   then  
  if   file.filesize>(3000*1024)   then  
  response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">最大只能上传   3M   的Flash文件! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
  end   if  
    end   if  
    if   filelx="jpg"   then  
  if   file.filesize>(1000*1024)   then  
  response.write   "<span   style=""font-family:   宋体;   font-size:   9pt"">最大只能上传   1000K   的图片文件! [   <a   href=#   onclick=history.go(-1)>重新上传</a>   ]</span>"  
  response.end  
  end   if  
    end   if  
   
    randomize  
    ranNum=int(90000*rnd)+10000  
    filename=filepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt  
  %>  
  <%  
    if   file.FileSize>0   then                   ''如果   FileSize   >   0   说明有文件数据  
      'file.SaveAs   Server.mappath(filename)       ''保存文件  
      file.SaveToFile   Server.mappath(FileName)  
      'response.write   file.FileName&"  上传成功!  <br>"  
      'response.write   "新文件名:"&FileName&"<br>"  
      'response.write   "新文件名已复制到所需的位置,可关闭窗口!"  
      if   filelx="swf"   then  
              response.write   "<script>window.opener.document."&upload.form("FormName")&".size.value='"&int(file.FileSize/1024)&"   K'</script>"  
      end   if  
      response.write   "<script>window.opener.document."&upload.form("FormName")&"."&upload.form("EditName")&".value='"&FileName&"'</script>"  
  %>  
  <%  
    end   if  
    set   file=nothing  
  next  
  set   upload=nothing  
  end   if  
  %>  
  <script   language="javascript">  
  window.alert("文件上传成功!请不要修改生成的链接地址!");  
  window.close();  
  </script>  
  *******************************************************************************  
  Top

6 楼denggaojian()回复于 2007-01-12 11:57:08 得分 0

upload_wj.inc如下  
  ****************************************************************************  
  <%  
  '----------------------------------------------------------------------  
  '转发时请保留此声明信息,这段声明不并会影响你的速度!  
  '*******************         无组件上传类       ********************************  
  '修改者:梁无惧  
  '电子邮件:yjlrb@21cn.com  
  '网站:http://www.25cn.com  
  '原作者:稻香老农  
  '原作者网站:http://www.5xsoft.com  
  '声明:此上传类是在化境编程界发布的无组件上传类的基础上修改的.  
  '在与化境编程界无组件上传类相比,速度快了将近50倍,当上传4M大小的文件时  
  '服务器只需要10秒就可以处理完,是目前最快的无组件上传程序,当前版本为0.96  
  '源代码公开,免费使用,对于商业用途,请与作者联系  
  '文件属性:例如上传文件为c:\myfile\doc.txt  
  'FileName         文件名               字符串         "doc.txt"  
  'FileSize         文件大小           数值               1210  
  'FileType         文件类型           字符串         "text/plain"  
  'FileExt           文件扩展名       字符串         "txt"  
  'FilePath         文件原路径       字符串         "c:\myfile"  
  '使用时注意事项:  
  '由于Scripting.Dictionary区分大小写,所以在网页及ASP页的项目名都要相同的大小  
  '写,如果人习惯用大写或小写,为了防止出错的话,可以把  
  'sFormName   =   Mid   (sinfo,iFindStart,iFindEnd-iFindStart)  
  '改为  
  '(小写者)sFormName   =   LCase(Mid   (sinfo,iFindStart,iFindEnd-iFindStart))  
  '(大写者)sFormName   =   UCase(Mid   (sinfo,iFindStart,iFindEnd-iFindStart))  
  '**********************************************************************  
  '----------------------------------------------------------------------  
  dim   oUpFileStream  
   
  Class   upload_file  
       
  dim   Form,File,Version  
       
  Private   Sub   Class_Initialize    
        '定义变量  
      dim   RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo  
      dim   iFileSize,sFilePath,sFileType,sFormvalue,sFileName  
      dim   iFindStart,iFindEnd  
      dim   iFormStart,iFormEnd,sFormName  
        '代码开始  
      Version="无组件上传类   Version   0.96"  
      set   Form   =   Server.CreateObject("Scripting.Dictionary")  
      set   File   =   Server.CreateObject("Scripting.Dictionary")  
      if   Request.TotalBytes   <   1   then   Exit   Sub  
      set   tStream   =   Server.CreateObject("adodb.stream")  
      set   oUpFileStream   =   Server.CreateObject("adodb.stream")  
      oUpFileStream.Type   =   1  
      oUpFileStream.Mode   =   3  
      oUpFileStream.Open    
      oUpFileStream.Write   Request.BinaryRead(Request.TotalBytes)  
      oUpFileStream.Position=0  
      RequestBinDate   =   oUpFileStream.Read    
      iFormEnd   =   oUpFileStream.Size  
      bCrLf   =   chrB(13)   &   chrB(10)  
      '取得每个项目之间的分隔符  
      sStart   =   MidB(RequestBinDate,1,   InStrB(1,RequestBinDate,bCrLf)-1)  
      iStart   =   LenB   (sStart)  
      iFormStart   =   iStart+2  
      '分解项目  
      Do  
          iInfoEnd   =   InStrB(iFormStart,RequestBinDate,bCrLf   &   bCrLf)+3  
          tStream.Type   =   1  
          tStream.Mode   =   3  
          tStream.Open  
          oUpFileStream.Position   =   iFormStart  
          oUpFileStream.CopyTo   tStream,iInfoEnd-iFormStart  
          tStream.Position   =   0  
          tStream.Type   =   2  
          tStream.Charset   ="gb2312"  
          sInfo   =   tStream.ReadText              
          '取得表单项目名称  
          iFormStart   =   InStrB(iInfoEnd,RequestBinDate,sStart)-1  
          iFindStart   =   InStr(22,sInfo,"name=""",1)+6  
          iFindEnd   =   InStr(iFindStart,sInfo,"""",1)  
          sFormName   =   Mid   (sinfo,iFindStart,iFindEnd-iFindStart)  
          '如果是文件  
          if   InStr   (45,sInfo,"filename=""",1)   >   0   then  
              set   oFileInfo=   new   FileInfo  
              '取得文件属性  
              iFindStart   =   InStr(iFindEnd,sInfo,"filename=""",1)+10  
              iFindEnd   =   InStr(iFindStart,sInfo,"""",1)  
              sFileName   =   Mid   (sinfo,iFindStart,iFindEnd-iFindStart)  
              oFileInfo.FileName   =   GetFileName(sFileName)  
              oFileInfo.FilePath   =   GetFilePath(sFileName)  
              oFileInfo.FileExt   =   GetFileExt(sFileName)  
              iFindStart   =   InStr(iFindEnd,sInfo,"Content-Type:   ",1)+14  
              iFindEnd   =   InStr(iFindStart,sInfo,vbCr)  
              oFileInfo.FileType   =   Mid   (sinfo,iFindStart,iFindEnd-iFindStart)  
              oFileInfo.FileStart   =   iInfoEnd  
              oFileInfo.FileSize   =   iFormStart   -iInfoEnd   -2  
              oFileInfo.FormName   =   sFormName  
              file.add   sFormName,oFileInfo  
          else  
          '如果是表单项目  
              tStream.Close  
              tStream.Type   =   1  
              tStream.Mode   =   3  
              tStream.Open  
              oUpFileStream.Position   =   iInfoEnd    
              oUpFileStream.CopyTo   tStream,iFormStart-iInfoEnd-2  
              tStream.Position   =   0  
              tStream.Type   =   2  
              tStream.Charset   =   "gb2312"  
              sFormvalue   =   tStream.ReadText    
              form.Add   sFormName,sFormvalue  
          end   if  
          tStream.Close  
          iFormStart   =   iFormStart+iStart+2  
          '如果到文件尾了就退出  
          loop   until   (iFormStart+2)   =   iFormEnd    
      RequestBinDate=""  
      set   tStream   =   nothing  
  End   Sub  
   
  Private   Sub   Class_Terminate      
      '清除变量及对像  
      if   not   Request.TotalBytes<1   then  
          oUpFileStream.Close  
          set   oUpFileStream   =nothing  
          end   if  
      Form.RemoveAll  
      File.RemoveAll  
      set   Form=nothing  
      set   File=nothing  
  End   Sub  
         
    '取得文件路径  
  Private   function   GetFilePath(FullPath)  
      If   FullPath   <>   ""   Then  
          GetFilePath   =   left(FullPath,InStrRev(FullPath,   "\"))  
          Else  
          GetFilePath   =   ""  
      End   If  
  End   function  
     
  '取得文件名  
  Private   function   GetFileName(FullPath)  
      If   FullPath   <>   ""   Then  
          GetFileName   =   mid(FullPath,InStrRev(FullPath,   "\")+1)  
          Else  
          GetFileName   =   ""  
      End   If  
  End   function  
   
  '取得扩展名  
  Private   function   GetFileExt(FullPath)  
      If   FullPath   <>   ""   Then  
          GetFileExt   =   mid(FullPath,InStrRev(FullPath,   ".")+1)  
          Else  
          GetFileExt   =   ""  
      End   If  
  End   function  
   
  End   Class  
   
  '文件属性类  
  Class   FileInfo  
      dim   FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt  
      Private   Sub   Class_Initialize    
          FileName   =   ""  
          FilePath   =   ""  
          FileSize   =   0  
          FileStart=   0  
          FormName   =   ""  
          FileType   =   ""  
          FileExt   =   ""  
      End   Sub  
       
  '保存文件方法  
    Public   function   SaveToFile(FullPath)  
          dim   oFileStream,ErrorChar,i  
          SaveToFile=1  
          if   trim(fullpath)=""   or   right(fullpath,1)="/"   then   exit   function  
          set   oFileStream=CreateObject("Adodb.Stream")  
          oFileStream.Type=1  
          oFileStream.Mode=3  
          oFileStream.Open  
          oUpFileStream.position=FileStart  
          oUpFileStream.copyto   oFileStream,FileSize  
          oFileStream.SaveToFile   FullPath,2  
          oFileStream.Close  
          set   oFileStream=nothing    
          SaveToFile=0  
      end   function  
  End   Class  
  %>  
  ********************************************************************  
  你看看吧,肯定行。Top

相关问题

关键词

得分解答快速导航

  • 帖主:llbd
  • jml1691

相关链接

  • Web开发类图书

广告也精彩

反馈

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