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

【求助】如何防止用户在上传后刷新页面(老总快给我逼疯了,急啊)

楼主newkevin88988()2006-09-29 11:16:56 在 Web 开发 / ASP 提问

我们的上传是使用ASPload上传组件上传的(可以同时上传多个图片)  
   
  1.asp     选择图片的页面  
   
  2.asp     图片上传并写入数据库的页面  
   
   
  老总要求在2.asp中修改图片的信息  
   
  比如修改图片的名称   图片描述等  
   
  然后在提交给3.asp      
   
  3.asp接收   图片名称   图片描述(修改后的)  
   
   
  现在的问题是   在上传图片到2.asp后   如果用户刷新2.asp的话图片又重新传了一次  
   
   
  请问如何防止用户刷新2.asp呢        
   
   
  先谢谢各位了 问题点数:100、回复次数:59Top

1 楼lonaerd(redhat10)回复于 2006-09-29 11:21:18 得分 0

3.asp返回到哪个页面?为什么刷新会触发提交事件?Top

2 楼lxrxyls(行云流水)回复于 2006-09-29 11:24:52 得分 70

方法1:把2.asp分为2_1.asp和2_2.asp两个页面,1.asp提交到2_1.asp实现图片的上传,2_1.asp完成后直接跳转2_2.asp,2_2.asp提供图片信息的修改。这样用户能看到的只有2_2.asp,即使刷新该页面也没有关系。  
  方法2:用session变量存储图片上传情况。如在页面1中令session("uped")=0;  
  页面2中上传前判断这个值,如果为0就上传,并置session("uped")=1;不为0就不上传,只显示图片信息的修改。Top

3 楼belldandy11(路漫漫其修远兮,吾将上CSDN求索)回复于 2006-09-29 11:33:49 得分 0

楼上的方法可行Top

4 楼keenx(老刀)回复于 2006-09-29 11:45:04 得分 0

lxrxyls(行云流水)的方法也可以,但要分多个页面。  
  可以在2.asp收到图片后,再跳到该页且带ID参数,判断如果有该ID参数的就知道是要填描述了Top

5 楼lxrxyls(行云流水)回复于 2006-09-29 11:52:24 得分 0

楼上的,你的方法不保险,如果用户把ID删掉呢,其实我说的方法二比较安全。Top

6 楼cjl8882000(狂奔的蜗牛)回复于 2006-09-29 11:53:57 得分 0

把上传的代码直接放到1.ASP里面去   在里面做个判断提交的代码  
  然后在上传完毕后跳转到2.ASP   原理和lxrxyls(行云流水)的第一种方法类似!~  
  这样可以不用拆分页面啊!~Top

7 楼rockywu(吃一贴,长一智)回复于 2006-09-29 12:26:51 得分 0

防刷新:  
  1、页面跳转。response.redirect  
  2、比较数据库。你之前添加的图片在库中保留着名字,只要相同名字就不可添加!Top

8 楼newkevin88988()回复于 2006-09-29 12:43:16 得分 0

lxrxyls(行云流水)   的方法2:用session变量存储图片上传情况。如在页面1中令session("uped")=0;页面2中上传前判断这个值,如果为0就上传,并置session("uped")=1;不为0就不上传,只显示图片信息的修改。  
   
  这个可行,我用隐藏域设置了<input   name="uped"   type="hidden"   value="<%session("uped")="1"%>">   然后   在2.asp进行判断    
   
  --------------------------------------------------------------------  
  现在出现的   问题是     因为是多图片同时上传,在2.asp出现多个需要修改的图片,每个图片一个form   action="3.asp"如何在3.asp进行接收并写入数据库呢?  
   
   
   
   
  Top

9 楼btbtd(签名加载中...请稍候...单击...双击ok)回复于 2006-09-29 12:57:17 得分 10

Session  
   
  给你一个示范:  
  8.2   简单的   Session   时间判断,   单位为秒.  
  <%  
  dim   tInterval  
   
  if   session("timestamp")=""   then   session("timestamp")=now()  
  tInterval=dateDiff("s",now(),session("timestamp"))  
  response.write   "tInterval:   "&tInterval&"<br/>"  
  if     tInterval>0     then  
  response.write   "session   faild<br/>"  
  else  
  session("timestamp")=dateAdd("s",30,now())  
  response.write   "session   ok"  
  end   if   'shawl.qiu'  
  %>Top

10 楼btbtd(签名加载中...请稍候...单击...双击ok)回复于 2006-09-29 12:59:41 得分 10

单单Session   还没用,   过了Session限定的时间就可以再刷新上传,   要清空Form提交的数据.    
  做法:  
  <meta   http-equiv="refresh"   content="30;URL=/">  
  这样无论怎么刷新,   30秒后就跳转到XXX页  
  Top

11 楼iasky(iasky)回复于 2006-09-29 13:00:11 得分 0

跳转页面  
   
  cookie+timestamp防止  
  Top

12 楼lxrxyls(行云流水)回复于 2006-09-29 13:05:51 得分 0

单单Session   还没用,   过了Session限定的时间就可以再刷新上传,   要清空Form提交的数据.    
  做法:  
  <meta   http-equiv="refresh"   content="30;URL=/">  
  这样无论怎么刷新,   30秒后就跳转到XXX页  
   
  session     失效了,你就不需要再登陆了。如果用户真的想重复上传,你管的了吗。这里只是防止用户万一不小心刷新了,造成没有必要的重复上传。Top

13 楼btbtd(签名加载中...请稍候...单击...双击ok)回复于 2006-09-29 13:08:38 得分 0

呀...又不是单独一个Session,   且我本来的做法也只是想防止恶意刷新,   故意上传的事除非那人脑袋秀逗了.    
  Top

14 楼btbtd(签名加载中...请稍候...单击...双击ok)回复于 2006-09-29 13:10:29 得分 10

可以试验一下   <meta   http-equiv="refresh"   content="30;URL=/">   跳转的页面,   貌似不能后退,   request.form   之类的数据也都被清空.Top

15 楼newkevin88988()回复于 2006-09-29 13:13:12 得分 0

谢谢各位的   关照  
   
  上传防止刷新的   问题已经   借鉴lxrxyls(行云流水)   的方法2:用session变量存储图片上传情况。如在页面1中令session("uped")=0;页面2中上传前判断这个值,如果为0就上传,并置session("uped")=1;不为0就不上传,只显示图片信息的修改。  
   
  这个可行,我用隐藏域设置了<input   name="uped"   type="hidden"   value="<%session("uped")="1"%>">   然后   在2.asp进行判断   if   =1   then   可以   刷新   session("uped")=""   else     不可以   刷新    
   
  --------------------------------------------------------------------  
  现在出现的   问题是     因为是多图片同时上传,在2.asp出现多个需要修改的图片,每个图片一个form   action="3.asp"如何在3.asp进行接收并写入数据库呢?Top

16 楼lxrxyls(行云流水)回复于 2006-09-29 13:14:09 得分 0

你的数据库表怎么设计的,应该每个上传图片都有一个主键的,可以放到隐含域里传。  
  还有,你修改信息,是所有的提交一次,还是每个单独提交。  
  如果所有的提交一次,你要放到一个form里,取相同的名字,如有两个图片  
  <form>  
   
  <input   type="hide"   name="id"   value="置改图片的在数据库中的主键,如ID">  
  <%input   type="text"   name="picnam"   value%>  
  <input   type="hide"   name="id"   value="置改图片的在数据库中的主键,如ID">  
  <%input   type="text"   name="picnam"   value%>  
  </form>  
  3.asp中  
  id=split(request.form('id"),",")  
  picname=split(request.form("picname"),",")  
  for   i=0   to   ubound(id)    
  str="update   table   set   picname='"&picname&"'   where   id='"&id&"'"  
  conn.execute(str)  
   
  大概就是这个思路。  
  next   i  
   
   
   
  Top

17 楼btbtd(签名加载中...请稍候...单击...双击ok)回复于 2006-09-29 13:16:43 得分 0

后然的要求要完成很复杂的,   虽然我已经搞定,   不过需要知道很多规范,   ...太多,   懒得讲了.Top

18 楼newkevin88988()回复于 2006-09-29 13:24:50 得分 0

我   先   试一下     lxrxyls(行云流水)     的这个       先谢谢各位啦        
   
   
  <form>  
   
  <input   type="hide"   name="id"   value="置改图片的在数据库中的主键,如ID">  
  <%input   type="text"   name="picnam"   value%>  
  <input   type="hide"   name="id"   value="置改图片的在数据库中的主键,如ID">  
  <%input   type="text"   name="picnam"   value%>  
  </form>  
  3.asp中  
  id=split(request.form('id"),",")  
  picname=split(request.form("picname"),",")  
  for   i=0   to   ubound(id)    
  str="update   table   set   picname='"&picname&"'   where   id='"&id&"'"  
  conn.execute(str)  
   
  大概就是这个思路。  
  next   i  
   
   
  Top

19 楼flyingsnowy((欧杨)不远万里来看楼主的帖,这是一种什么样的精神病?)回复于 2006-09-29 13:31:27 得分 0

快给我逼疯   老总Top

20 楼yowbell(出色的女人从鸡做起,优秀的男人从狗做起)回复于 2006-09-29 14:10:10 得分 0

mark,Top

21 楼lee_j()回复于 2006-09-29 14:16:28 得分 0

你的意思应该是怕别人恶意上传吧,最好的办法就是使用验证码Top

22 楼kinglj()回复于 2006-09-29 14:20:24 得分 0

用session变量存储图片上传情况。如在页面1中令session("uped")=0;  
  页面2中上传前判断这个值,如果为0就上传,并置session("uped")=1;不为0就不上传,只显示图片信息的修改。  
  Top

23 楼newkevin88988()回复于 2006-09-29 14:44:36 得分 0

lxrxyls(行云流水)  
   
   
  3.asp  
  id=split(request.form('id"),",")  
  picname=split(request.form("picname"),",")  
  for   i=0   to   ubound(id)    
  str="update   table   set   picname='"&picname&"'   where   id='"&id&"'"  
  conn.execute(str)  
  next   i  
   
  这个3.asp接收不到。  
   
   
  '===========================================  
   
  这样问吧:   同时修改N条记录(2.asp中的每个文本域,在3.asp修改一条记录)  
  <input   name="picname<%=   数据库记录ID%>"   type="text"   id="picname"   value="<%=mingcheng%>"   >  
   
  <input   name="picname<%=   数据库记录ID%>"   type="text"   id="picname"   value="<%=mingcheng%>"   >  
   
  <input   name="picname<%=   数据库记录ID%>"   type="text"   id="picname"   value="<%=mingcheng%>"   >  
   
   
  3.asp如何写呢?  
  谢谢大家  
   
  Top

24 楼yeqiufeng(叶秋枫)回复于 2006-09-29 14:44:51 得分 0

两种办法:  
  1、弹出上传窗口,传完后窗口关闭。  
  2、使用验证码才是王道。  
   
  @_@Top

25 楼lxrxyls(行云流水)回复于 2006-09-29 14:49:41 得分 0

你把你代码发全吧,我帮你改!Top

26 楼newkevin88988()回复于 2006-09-29 14:59:05 得分 0

辛苦了  
   
  以下是2.asp   循环显示出的表格     最多循环出8个这样的表格       提交到3.asp   让3.asp修改数据库中的记录。  
   
   
      <table   width="795"   border="0"   align="center"   cellpadding="3"   cellspacing="5">  
          <tr>  
              <td   width="80"   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片名称:</div></td>  
              <td   width="346"   bgcolor="#F4F5F7"><input   name="picname<%=   picid   %>"   type="text"   class="txtbeijing"   id="picname"   value="<%=mingcheng%>"   size="45"   style="height:   22px;   font-weight:   bold;"   /></td>  
          </tr>  
           
           
          <tr>  
              <td   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片分类:</div></td>  
              <td   bgcolor="#F4F5F7"><%  
    set   rszdy=server.createobject("ADODB.Recordset")  
      sqlzdy   =   "select   *   from   picfenlei   Where   huiyuan='"&huiyuan&"'   order   by   id   desc"    
      rszdy.open   sqlzdy,conn,1  
      %>  
         
                  <select   name="zidingyi<%=   picid   %>"   class="txtbeijing"   id="zidingyi">  
                      <option   value="0">请选择您自定义的图片分类</option>  
                      <%   do   while   not   rszdy.eof  
      if   rszdy("id")   =   cint(upload.form("zidingyi"))   then  
       
                                                              Response.Write("<option   value="&rszdy("id")   &"   selected>"&rszdy("fenlei")&"</option>")  
      else   %>  
                      <option   value="<%=   rszdy("id")   %>"><%=   rszdy("fenlei")   %></option>  
                      <%end   if  
        rszdy.movenext  
  loop    
  rszdy.close%>  
                  </select></td>  
          </tr>  
          <tr>  
              <td   colspan="2"   bgcolor="#F4F5F7"><span   class="STYLE1">&nbsp;   <span   class="STYLE2">图片描述:</span></span></td>  
          </tr>  
          <tr>  
              <td   height="107"   colspan="2"   align="center"   valign="top"   bgcolor="#F4F5F7"><textarea   name="jianjie<%=   picid   %>"   cols="68"   rows="8"   class="txtbeijing"   id="jianjie"></textarea>             </td>  
          </tr>  
           
      </table>Top

27 楼newkevin88988()回复于 2006-09-29 15:02:32 得分 0

我以前只做过多文本域可以添加到数据库中  
   
  但是修改多个记录的话   我就不知道如何判断   应该修改那条记录了Top

28 楼lxrxyls(行云流水)回复于 2006-09-29 15:04:34 得分 0

<table   width="795"   border="0"   align="center"   cellpadding="3"   cellspacing="5">  
          <tr>  
              <td   width="80"   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片名称:</div></td>  
              <td   width="346"   bgcolor="#F4F5F7">  
  <input   name="picid"   type="hide"   value="<%=picid%>">  
  <input   name="picname"   type="text"   class="txtbeijing"   id="picname"   value="<%=mingcheng%>"   size="45"   style="height:   22px;   font-weight:   bold;"   /></td>  
          </tr>  
           
           
          <tr>  
              <td   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片分类:</div></td>  
              <td   bgcolor="#F4F5F7"><%  
    set   rszdy=server.createobject("ADODB.Recordset")  
      sqlzdy   =   "select   *   from   picfenlei   Where   huiyuan='"&huiyuan&"'   order   by   id   desc"    
      rszdy.open   sqlzdy,conn,1  
      %>  
         
                  <select   name="zidingyi"   class="txtbeijing"   id="zidingyi">  
                      <option   value="0">请选择您自定义的图片分类</option>  
                      <%   do   while   not   rszdy.eof  
      if   rszdy("id")   =   cint(upload.form("zidingyi"))   then  
       
                                                              Response.Write("<option   value="&rszdy("id")   &"   selected>"&rszdy("fenlei")&"</option>")  
      else   %>  
                      <option   value="<%=   rszdy("id")   %>"><%=   rszdy("fenlei")   %></option>  
                      <%end   if  
        rszdy.movenext  
  loop    
  rszdy.close%>  
                  </select></td>  
          </tr>  
          <tr>  
              <td   colspan="2"   bgcolor="#F4F5F7"><span   class="STYLE1">&nbsp;   <span   class="STYLE2">图片描述:</span></span></td>  
          </tr>  
          <tr>  
              <td   height="107"   colspan="2"   align="center"   valign="top"   bgcolor="#F4F5F7"><textarea   name="jianjie"   cols="68"   rows="8"   class="txtbeijing"   id="jianjie"></textarea>             </td>  
          </tr>  
           
      </table>  
   
  把3的也发出来  
   
   
   
  Top

29 楼newkevin88988()回复于 2006-09-29 15:07:07 得分 0

3.asp是空白的,就是不知道如何接收和修改Top

30 楼lxrxyls(行云流水)回复于 2006-09-29 15:15:12 得分 0

数据库链接你自己写,假使有conn,表为picup  
  picid=split(request("picid"),",")  
  picname=split(request("picname"),",")  
  zhidingyi=split(request("zhidingyi"),",")  
  jianjie=split(request("jianjie"),",")  
  for   i=0   to   ubound(picid)  
  sqlstr="update   picup(picname,zhidingyi,jianjie)   values('"&picname(i)&"','"&zhidingyi(i)&"','"&jianjie(i)&"')   where   picid='"&picid(i)&"'"  
  conn.execute(sqlstr)  
  next    
  conn.close  
  set   conn=nothing  
  Top

31 楼newkevin88988()回复于 2006-09-29 15:16:44 得分 0

好的谢谢啦,我先弄一下Top

32 楼newkevin88988()回复于 2006-09-29 15:25:59 得分 0

提交后没有反映  
   
  <%  
  picid=split(request("picid"),",")  
  picname=split(request("picname"),",")  
  zhidingyi=split(request("zhidingyi"),",")  
  jianjie=split(request("jianjie"),",")  
  for   i=0   to   ubound(picid)  
  Response.Write("8888888888")-------这两个都不能显示  
  Response.Write   (picname)'--------这两个都不能显示  
  'sqlstr="update   pic(picname,zhidingyi,jianjie)   values('"&picname(i)&"','"&zhidingyi(i)&"','"&jianjie(i)&"')   where   picid='"&picid(i)&"'"  
  'conn.execute(sqlstr)  
  next    
  conn.close  
  set   conn=nothing   %>  
   
  而且在2.asp中多显示了一个  
   
  <input   name="picid"   type="hide"   value="<%=picid%>">  
  Top

33 楼lxrxyls(行云流水)回复于 2006-09-29 15:29:44 得分 0

你把2的代码发全Top

34 楼newkevin88988()回复于 2006-09-29 15:34:33 得分 0

<html   xmlns="http://www.w3.org/1999/xhtml">  
  <head>  
   
  <title>图片</title>  
  <LINK   href="images/menu.css"   type=text/css   rel=stylesheet>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />  
  <!--#include   file="../shujukudelianjiewenjian/sqlconn.asp"-->  
  <SCRIPT    
  src="images/mouse.js"    
  type=text/javascript></SCRIPT>  
  <script   language="JavaScript">  
  <!--  
  function   copyUrl(url){  
  var   content='';  
  window.clipboardData.setData("Text",url);  
  alert("\n\n\n您所选择的图片地址已复制到剪贴版!\n\n温馨提示:\n\n①您按CTRL+V可以进行快速粘贴\n\n②如果点击后又复制了其他内容,请从新点击“地址”进行复制\n\n\n\n\n【图片宝】——最专业的商品图片存储空间       www.picbao.com");}  
  //-->  
  </script>  
  <style   type="text/css">  
  <!--  
  .txtbeijing   { line-height:   18px;  
  color:   #65707E;  
  background-color:   #FFFFE1;  
  border:   1px   solid   #B0B8BF;  
  }  
  .STYLE1   {font-weight:   bold}  
  .STYLE2   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
  </style>  
  </head>  
  <body>  
  <!--#include   file="top.asp"-->  
  <%       uped=session("uped")  
  if   uped="1"   then  
  Response.Write(uped)  
  Response.Write("可以   上传   ")  
  session("uped")=""  
  uped=""  
  else  
  Response.Write("刷新   也   不能上传   ")  
  end   if  
          '=============建立文件夹=================  
  huiyuan=session("huiyuan")  
  nianyue=year(now)&"-"&month(now)  
  ri=day(now)&"/"  
   
  wjjb="picbao-b/"&huiyuan  
  wjjs="picbao-s/"&huiyuan  
   
  wjjbny=wjjb&"/"&nianyue  
  wjjsny=wjjs&"/"&nianyue  
   
  wjjbnyr=wjjbny&"/"&ri  
  wjjsnyr=wjjsny&"/"&ri  
   
  '--------------------big-------------------  
   
      '----------big/user-------------  
    set   fs=createobject("scripting.filesystemobject")    
    Mybig=server.mappath(wjjb)  
  If   NOT   fs.folderexists(Mybig)   then  
  fs.createfolder(Mybig)  
  End   If  
      '----------big/user/nianyue-------  
    set   fs=createobject("scripting.filesystemobject")    
    Mybigny=server.mappath(wjjbny)  
  If   NOT   fs.folderexists(Mybigny)   then  
  fs.createfolder(Mybigny)  
  End   If  
   
      '----------big/user/nianyue/ri-------  
    set   fs=createobject("scripting.filesystemobject")    
    Mybignyr=server.mappath(wjjbnyr)  
  If   NOT   fs.folderexists(Mybignyr)   then  
  fs.createfolder(Mybignyr)  
  End   If  
   
  '--------------------small-------------------  
   
      '----------small/user-------------  
    Mymsall=server.mappath(wjjs)  
  If   NOT   fs.folderexists(Mymsall)   then  
  fs.createfolder(Mymsall)  
  End   If  
   
   
      '----------small/user/nianyue-------------  
    Mymsallny=server.mappath(wjjsny)  
  If   NOT   fs.folderexists(Mymsallny)   then  
  fs.createfolder(Mymsallny)  
  End   If  
   
      '----------small/user/nianyue/ri-------------  
    Mymsallnyr=server.mappath(wjjsnyr)  
  If   NOT   fs.folderexists(Mymsallnyr)   then  
  fs.createfolder(Mymsallnyr)  
  End   If  
  '=============================================  
      Set       Upload       =       Server.CreateObject("Persits.Upload")    
     
           
      '       Prevent       overwriting            
      Upload.OverwriteFiles       =       False            
           
      '       We       use       memory       uploads,       文件大小限制       ,单位:b        
      Upload.SetMaxSize       1*1024*1024*1024,       true            
           
      if       Request.QueryString("PID")       =       ""       then        
      Upload.ProgressID="010D60EB00C5AA4B"        
      else        
      Upload.ProgressID=Request.QueryString("PID")        
      end       if        
           
      On       Error       Resume       Next        
               
      '       Save       to       memory       保存到内存        
      Upload.Save        
           
      If       Err.Number       =       8       Then        
                  Response.Write       "文件大于1G"        
      End       If        
        %>    
  <form   action="picupload3.asp"   method="post"   name="form1"   target="_blank"   id="form1">    
        <%   For       Each       File       in       Upload.Files            
      FileExt=Lcase(replace(File.ext,".",""))    
   
  Dim   aa    
  aa=File.filename'原文件名称  
   
  'response.write   Len(aa)&"<br>"   '文件名的位数  
  'response.write   Right(aa,4)&"<br>"'文件的   扩展名  
   
  'response.write   Left(aa,Len(aa)-Len(Right(aa,4)))’文件名称  
   
  mingcheng=Left(aa,Len(aa)-Len(Right(aa,4)))  
      '用系统时间+随机数,作为文件名        
      Dim       ranNum        
      randomize        
      ranNum=int(9999999*rnd)        
      CreateName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum        
      NewName       =       CreateName    
          NewName="picbao"&NewName  
             
      articlepath       =       Server.MapPath(wjjbnyr)     '保存文件路径        
           
  Top

35 楼newkevin88988()回复于 2006-09-29 15:34:50 得分 0

 
      '服务器端判断文件类型,动网论坛的判断方式        
      If       CheckFileExt(FileExt)=false       then        
          Response.write       "文件格式不正确,或不能为空 [       <a       href=#       onclick=history.go(-1)>重新上传</a>       ]"        
           
      else        
                  File.SaveAs       articlepath       &       "/"       &       NewName       &       File.ext            
   
  picname=wjjbnyr&File.FileName  
  picnamexiao=wjjsnyr&   NewName&   ".jpg"      
   
  'Response.Write("<img   src="&picnamexiao&"><p>")  
  '==========================缩略图=====================  
   
   
  Set   Jpeg   =   Server.CreateObject("Persits.Jpeg")         '创建实例  
  Path   =   Server.MapPath(picname)                 '处理图片路径  
  Jpeg.Open   Path                                 '打开图片  
  '调整宽度和高度为原来的50%  
   
  Jpeg.Width   =   150'Jpeg.OriginalWidth   /   2  
  xxx=Jpeg.OriginalWidth-150  
  yyy=xxx/Jpeg.OriginalWidth  
  hhh=1-yyy  
  Jpeg.Height   =   Jpeg.OriginalHeight*hhh  
  if   jpeg.Height>150   then  
  jpeg.crop   0,0,150,150      
  end   if    
  'NewName=   File.FileName  
  Jpeg.Save   Server.MapPath(wjjsnyr&   NewName&   ".jpg")   '保存图片到磁盘  
   
  Jpeg.Close:Set   Jpeg   =   Nothing  
   
  '--------------文件大小--------------  
  dim   fso,filepath,file  
   
  set   fso=server.createobject("scripting.filesystemobject")  
  filepath=server.mappath(picname)  
  set   f=fso.getfile(filepath)  
  '-------------所属分类------------  
  zidingyiid= upload.form("zidingyi")  
   
                      set   rssuoshu=server.createobject("ADODB.Recordset")  
      sqlsuoshu   =   "select   *   from   picfenlei   Where   huiyuan='"&huiyuan&"'   and   id="&   zidingyiid  
      rssuoshu.open   sqlsuoshu,conn,1,1  
      zidingyi=rssuoshu("suoshufenlei")  
      suoshu.close  
       
  sql="select   *   from   [pic]   order   by   id   desc"  
  set   rs=server.createobject("ADODB.Recordset")  
  rs.open   sql,conn,1,3  
  rs.addnew  
  rs("huiyuan")=huiyuan  
  rs("name")=mingcheng  
  rs("picda")=picname  
  rs("picxiao")=picnamexiao  
  rs("chicun")=File.ImageWidth   &   "   x   "   &   File.ImageHeight  
  rs("leixing")=File.ImageType  
  rs("zidingyi")=upload.form("zidingyi")  
  rs("fenlei")=zidingyi  
  rs("daxiao")=f.size  
  rs("riqi")=now()  
  rs.update  
  picid=rs("id")  
  rs.close  
   
      %>  
      <style   type="text/css">  
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
      </style>  
   
      <table   width="795"   border="0"   align="center"   cellpadding="3"   cellspacing="5">  
          <tr>  
              <td   width="331"   rowspan="4"   align="center"   valign="bottom"   bgcolor="#F4F5F7"><a   href="<%=picname%>"   target="_blank"><img   src="<%=picnamexiao%>"   alt="&lt;b&gt;点击查看原图&lt;/b&gt;&lt;br&gt;&lt;br&gt;名称:<%=mingcheng%>&lt;br&gt;尺寸:<%=   File.ImageWidth   &   "   x   "   &   File.ImageHeight   %>   像素&lt;br&gt;类型:<%=   File.ImageType   %>   格式&lt;br&gt;大小:<%=   f.size   %>   Byte(字节)   ≈   <%=   round(f.size/1024   ,1)   %>   KB"   border="0"   /></a><br   />  
                  <br   />  
                  <br   />                  
                  &nbsp;<a   title="点击复制图片地址到剪贴版."   href="javascript:copyUrl('http://www.picbao.com/pic/<%=picname%>')">复制原图地址</a>&nbsp;<br   /></td>  
              <td   width="80"   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片名称:</div></td>  
              <td   width="346"   bgcolor="#F4F5F7"><input   name="picid"   type="hide"   value="<%=picid%>"><input   name="picname"   type="text"   class="txtbeijing"   id="picname"   value="<%=mingcheng%>"   size="45"   style="height:   22px;   font-weight:   bold;"   /></td>  
          </tr>  
           
           
          <tr>  
              <td   bgcolor="#F4F5F7"><div   align="right"   class="STYLE2">图片分类:</div></td>  
              <td   bgcolor="#F4F5F7"><%  
    set   rszdy=server.createobject("ADODB.Recordset")  
      sqlzdy   =   "select   *   from   picfenlei   Where   huiyuan='"&huiyuan&"'   order   by   id   desc"    
      rszdy.open   sqlzdy,conn,1  
      %>  
         
                  <select   name="zidingyi"   class="txtbeijing"   id="zidingyi">  
                      <option   value="0">请选择您自定义的图片分类</option>  
                      <%   do   while   not   rszdy.eof  
      if   rszdy("id")   =   cint(upload.form("zidingyi"))   then  
       
                                                              Response.Write("<option   value="&rszdy("id")   &"   selected>"&rszdy("fenlei")&"</option>")  
      else   %>  
                      <option   value="<%=   rszdy("id")   %>"><%=   rszdy("fenlei")   %></option>  
                      <%end   if  
        rszdy.movenext  
  loop    
  rszdy.close%>  
                  </select></td>  
          </tr>  
          <tr>  
              <td   colspan="2"   bgcolor="#F4F5F7"><span   class="STYLE1">&nbsp;   <span   class="STYLE2">图片描述:</span></span></td>  
          </tr>  
          <tr>  
              <td   height="107"   colspan="2"   align="center"   valign="top"   bgcolor="#F4F5F7"><textarea   name="jianjie"   cols="68"   rows="8"   class="txtbeijing"   id="jianjie"></textarea>  
              </td>  
          </tr>  
          <tr>  
              <td   colspan="3"   align="center">&nbsp;</td>  
          </tr>  
      </table>  
   
  <%'===================完成缩略图================  
   
     
      End       If        
           
      Next            
           
      %>      
  <table   width="795"   border="0"   align="center"   cellpadding="5"   cellspacing="0">  
      <tr>  
          <td   align="center"   bgcolor="#8B94A2"><label>  
              <input   type="submit"   name="Submit"   value="提交"   />  
          </label></td>  
      </tr>  
  </table>  
  </form>        
      <%        
      '服务器端判断文件类型,动网论坛的判断方式        
      Private       Function       CheckFileExt(FileExt)        
           
      If       FileExt=""       or       IsEmpty(FileExt)       Then        
      CheckFileExt=false        
      Exit       Function        
      End       If        
      If       Lcase(FileExt)="asp"       or       Lcase(FileExt)="asa"       or       Lcase(FileExt)="aspx"       then        
      CheckFileExt=false        
      Exit       Function        
      End       If        
      If       Lcase(FileExt)="gif"       or       Lcase(FileExt)="jpg"       or       Lcase(FileExt)="png"       or       Lcase(FileExt)="swf"       or       Lcase(FileExt)="bmp"       then        
      CheckFileExt=true        
      Exit       Function        
      Else        
      CheckFileExt=false        
      End       If        
      End       Function        
      %>        
   
  Top

36 楼xiaofanku(发扬中国博大的无术精神)回复于 2006-09-29 15:36:21 得分 0

老总快给我逼疯了  
   
  -------------------  
  写到这种程度也可以了~你应该再努力一下:老总的钱快给我发光了Top

37 楼lxrxyls(行云流水)回复于 2006-09-29 15:43:23 得分 0

<input   name="picid"   type="hide"   value="<%=picid%>">   改为  
  <input   name="picid"   type="hidden"   value="<%=picid%>">Top

38 楼newkevin88988()回复于 2006-09-29 15:45:26 得分 0

好的Top

39 楼misng(沦落人)回复于 2006-09-29 15:48:49 得分 0

把它做成内嵌网页,同时用js屏蔽鼠标右键.  
  主页面内嵌一个不上传的页面(1.asp).在它(1.asp)中给链接到你的第一个页面.  
  这样就算它刷新主页面也不过是回到1.aspTop

40 楼newkevin88988()回复于 2006-09-29 15:50:41 得分 0

非常感谢。  
   
  2好了,已经变成隐藏域了,但是3还不能正常使用.不能输出  
   
   
   
  3.asp  
   
  <!--#include   file="../shujukudelianjiewenjian/sqlconn.asp"-->  
  <%  
  picid=split(request("picid"),",")  
  picname=split(request("picname"),",")  
  zhidingyi=split(request("zhidingyi"),",")  
  jianjie=split(request("jianjie"),",")  
  for   i=0   to   ubound(picid)  
  sqlstr="update   pic(picname,zhidingyi,jianjie)   values('"&picname(i)&"','"&zhidingyi(i)&"','"&jianjie(i)&"')   where   picid='"&picid(i)&"'"  
  conn.execute(sqlstr)  
  next    
  conn.close  
  set   conn=nothing   %>Top

41 楼lxrxyls(行云流水)回复于 2006-09-29 15:54:14 得分 0

<!--#include   file="../shujukudelianjiewenjian/sqlconn.asp"-->  
  <%  
  picid=split(request("picid"),",")  
  picname=split(request("picname"),",")  
  zhidingyi=split(request("zhidingyi"),",")  
  jianjie=split(request("jianjie"),",")  
  for   i=0   to   ubound(picid)  
  sqlstr="update   pic   set   picname=   '"&picname(i)&"',zhidingyi='"&zhidingyi(i)&"',jianjie='"&jianjie(i)&"'   where   picid='"&picid(i)&"'"  
  conn.execute(sqlstr)  
  next    
  conn.close  
  set   conn=nothing   %>  
  Top

42 楼newkevin88988()回复于 2006-09-29 15:59:50 得分 0

还是不行  
   
  picid=split(request("picid"),",")  
  Response.Write(picid)  
   
  接不到picidTop

43 楼lxrxyls(行云流水)回复于 2006-09-29 16:00:29 得分 0

还有把form放到循环的外面去Top

44 楼lxrxyls(行云流水)回复于 2006-09-29 16:01:12 得分 0

你现在的写法还是一个图片一个form,当前得不到Top

45 楼newkevin88988()回复于 2006-09-29 16:07:10 得分 0

是一个form啊  
   
   
  在IE浏览后查看源码   也没错Top

46 楼newkevin88988()回复于 2006-09-29 16:08:39 得分 0

IE浏览后的form内的代码  
   
   
   
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
       
   
   
  复制原图地址&nbsp;  
   
   
  图片名称:  
   
   
   
   
   
  图片分类:  
   
   
   
  请选择您自定义的图片分类   27272727272227777777   77775555555555555   555555555555   77777777   诺基亚手机图片222   999999999   8888888888   666666666   ddddddddddddddd    
   
  图片描述:  
   
   
   
   
   
   
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
       
   
   
  复制原图地址&nbsp;  
   
   
  图片名称:  
   
   
   
   
   
  图片分类:  
   
   
   
  请选择您自定义的图片分类   27272727272227777777   77775555555555555   555555555555   77777777   诺基亚手机图片222   999999999   8888888888   666666666   ddddddddddddddd    
   
  图片描述:  
   
   
   
   
   
   
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
       
   
   
  复制原图地址&nbsp;  
   
   
  图片名称:  
   
   
   
   
   
  图片分类:  
   
   
   
  请选择您自定义的图片分类   27272727272227777777   77775555555555555   555555555555   77777777   诺基亚手机图片222   999999999   8888888888   666666666   ddddddddddddddd    
   
  图片描述:  
   
   
   
   
   
   
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
       
   
   
  复制原图地址&nbsp;  
   
   
  图片名称:  
   
   
   
   
   
  图片分类:  
   
   
   
  请选择您自定义的图片分类   27272727272227777777   77775555555555555   555555555555   77777777   诺基亚手机图片222   999999999   8888888888   666666666   ddddddddddddddd    
   
  图片描述:  
   
   
   
   
   
   
  <!--  
  .beijing   {  
  background-color:   #FFFFCC;  
  border:   1px   solid   #FFCC66;  
  line-height:   18px;  
  color:   #8B94A2;  
  }  
  .STYLE1   {  
  color:   #8B94A2;  
  font-weight:   bold;  
  }  
  -->  
       
   
   
  复制原图地址&nbsp;  
   
   
  图片名称:  
   
   
   
   
   
  图片分类:  
   
   
   
  请选择您自定义的图片分类   27272727272227777777   77775555555555555   555555555555   77777777   诺基亚手机图片222   999999999   8888888888   666666666   ddddddddddddddd    
   
  图片描述:  
   
   
   
   
   
   
   
   
   
  Top

47 楼newkevin88988()回复于 2006-09-29 16:09:18 得分 0

晕,发错了Top

48 楼lxrxyls(行云流水)回复于 2006-09-29 16:10:45 得分 0

<!--#include   file="../shujukudelianjiewenjian/sqlconn.asp"-->  
  <%  
  picid=split(request.form("picid"),",")  
  picname=split(request.form("picname"),",")  
  zhidingyi=split(request.form("zhidingyi"),",")  
  jianjie=split(request.form("jianjie"),",")  
  for   i=0   to   ubound(picid)  
  sqlstr="update   pic   set   picname=   '"&picname(i)&"',zhidingyi='"&zhidingyi(i)&"',jianjie='"&jianjie(i)&"'   where   picid='"&picid(i)&"'"  
  response.write   sqlstr  
  conn.execute(sqlstr)  
  next    
  conn.close  
  set   conn=nothing   %>  
   
   
   
  Top

49 楼newkevin88988()回复于 2006-09-29 16:21:17 得分 0

还是不行哦  
   
  这样吧,我把ASP文件压缩后给你吧,你帮我瞧瞧,万分感激。  
   
  我还有100分全部送上。  
   
   
  2.asp     3.asp     的文件     yd35.com/pic.rarTop

50 楼lxrxyls(行云流水)回复于 2006-09-29 16:23:26 得分 0

我这里解压不了rar,而且没有调试环境。你要学会自己分析  
  Top

51 楼newkevin88988()回复于 2006-09-29 16:27:32 得分 0

呵呵好的。谢谢啦,都和我浪费了这么长时间我该把这贴结了……然后再研究一下     实在不行的话就改为单图片修改了  
   
  Top

52 楼lxrxyls(行云流水)回复于 2006-09-29 16:28:43 得分 0

你的代码太乱,可以把2整理一下。这样看起来太累。Top

53 楼newkevin88988()回复于 2006-09-29 16:36:02 得分 0

:)  
   
  Top

54 楼lxrxyls(行云流水)回复于 2006-09-29 16:37:47 得分 0

你可以在IE的sourcecode里看一下,form里面是不是有多个<input   name="picid"   type="hidden"   value="<%=picid%>">  
  Top

55 楼newkevin88988()回复于 2006-09-29 16:40:45 得分 0

贴子回复次数大于跟给分次数         ????   怎么回事Top

56 楼taolixiang(飞扬 怎么还不升级!!...... 哦 ...... 原来是要答对题才能升!)回复于 2006-09-29 16:41:50 得分 0

判断变量呀  
  从上传的页面传个值过来  
  if   变量=值   就执行Top

57 楼taolixiang(飞扬 怎么还不升级!!...... 哦 ...... 原来是要答对题才能升!)回复于 2006-09-29 16:43:44 得分 0

也可用判断来至的页面是不是那个上传文件的页Top

58 楼lxrxyls(行云流水)回复于 2006-09-29 17:31:16 得分 0

关注Top

59 楼Enight(阿里巴巴)回复于 2006-09-29 17:49:56 得分 0

用内嵌框架来实现Top

相关问题

关键词

得分解答快速导航

  • 帖主:newkevin88988
  • lxrxyls
  • btbtd
  • btbtd
  • btbtd

相关链接

  • Web开发类图书

广告也精彩

反馈

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