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

如何直接通过ASP程序得到JPG图片的大小?

楼主cnonline(抱着猫迷小姐睡觉的苗条耗子)2003-12-03 19:34:17 在 Web 开发 / ASP 提问

我指的是无组件。 问题点数:0、回复次数:4Top

1 楼a_zhe_20(努力工作多赚钱)回复于 2003-12-03 19:53:40 得分 0

没在网上看到有这个代码  
   
  但是偶买的一本书上有《Visual   Basic   网络高级编程》  
  比较长,就不打了:)Top

2 楼xxrl(孔曰成仁,孟曰取媳妇-->她太有才了)回复于 2003-12-03 19:54:58 得分 0

只针对图片:  
   
  <form   name=form1   onsubmit="return   mm()">  
  <input   type=file   name=meizz><br/>  
  <input   type=submit   value=submit></form>  
   
  <SCRIPT   LANGUAGE="JavaScript"><!--  
  function   mm()  
  {  
      var   s   =   document.form1.meizz.value;  
      if(s=="")return   false;  
      var   img   =   new   Image();  
      img.src   =   s;  
      alert("高   =   "+   img.height   +   "\n宽   =   "+   img.width);  
      alert("fileSize   =   "+   img.fileSize   +"   字节");  
      return(img.fileSize   <=   40000);  
  }  
  //--></SCRIPT>  
   
  asp的不会   只会javascript的Top

3 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2003-12-03 20:00:56 得分 0

picXY.asp:  
   
  <%  
  Class   possible  
    dim   aso  
    Private   Sub   Class_Initialize  
      set   aso=CreateObject("Adodb.Stream")  
      aso.Mode=3    
      aso.Type=1    
      aso.Open    
    End   Sub  
    Private   Sub   Class_Terminate  
      set   aso=nothing  
    End   Sub  
   
    Private   Function   Bin2Str(Bin)  
      Dim   I,   Str  
      For   I=1   to   LenB(Bin)  
        clow=MidB(Bin,I,1)  
        if   ASCB(clow)<128   then  
          Str   =   Str   &   Chr(ASCB(clow))  
        else  
          I=I+1  
          if   I   <=   LenB(Bin)   then   Str   =   Str   &   Chr(ASCW(MidB(Bin,I,1)&clow))  
        end   if  
      Next    
      Bin2Str   =   Str  
    End   Function  
     
    Private   Function   Num2Str(num,base,lens)  
      dim   ret  
      ret   =   ""  
      while(num>=base)  
        ret   =   (num   mod   base)   &   ret  
        num   =   (num   -   num   mod   base)/base  
      wend  
      Num2Str   =   right(string(lens,"0")   &   num   &   ret,lens)  
    End   Function  
     
    Private   Function   Str2Num(str,base)  
      dim   ret  
      ret   =   0  
      for   i=1   to   len(str)  
        ret   =   ret   *base   +   cint(mid(str,i,1))  
      next  
      Str2Num=ret  
    End   Function  
     
    Private   Function   BinVal(bin)  
      dim   ret  
      ret   =   0  
      for   i   =   lenb(bin)   to   1   step   -1  
        ret   =   ret   *256   +   ascb(midb(bin,i,1))  
      next  
      BinVal=ret  
    End   Function  
     
    Private   Function   BinVal2(bin)  
      dim   ret  
      ret   =   0  
      for   i   =   1   to   lenb(bin)  
        ret   =   ret   *256   +   ascb(midb(bin,i,1))  
      next  
      BinVal2=ret  
    End   Function  
     
    Private   Function   getImageSize(filespec)    
      dim   ret(3)  
      aso.LoadFromFile(filespec)  
      bFlag=aso.read(3)  
      select   case   hex(binVal(bFlag))  
      case   "4E5089":  
        aso.read(15)  
        ret(0)="PNG"  
        ret(1)=BinVal2(aso.read(2))  
        aso.read(2)  
        ret(2)=BinVal2(aso.read(2))  
      case   "464947":  
        aso.read(3)  
        ret(0)="GIF"  
        ret(1)=BinVal(aso.read(2))  
        ret(2)=BinVal(aso.read(2))  
      case   "535746":  
        aso.read(5)  
        binData=aso.Read(1)  
        sConv=Num2Str(ascb(binData),2   ,8)  
        nBits=Str2Num(left(sConv,5),2)  
        sConv=mid(sConv,6)  
        while(len(sConv)<nBits*4)  
          binData=aso.Read(1)  
          sConv=sConv&Num2Str(ascb(binData),2   ,8)  
        wend  
        ret(0)="SWF"  
        ret(1)=int(abs(Str2Num(mid(sConv,1*nBits+1,nBits),2)-Str2Num(mid(sConv,0*nBits+1,nBits),2))/20)  
        ret(2)=int(abs(Str2Num(mid(sConv,3*nBits+1,nBits),2)-Str2Num(mid(sConv,2*nBits+1,nBits),2))/20)  
      case   "FFD8FF":  
        do    
          do:   p1=binVal(aso.Read(1)):   loop   while   p1=255   and   not   aso.EOS  
          if   p1>191   and   p1<196   then   exit   do   else   aso.read(binval2(aso.Read(2))-2)  
          do:p1=binVal(aso.Read(1)):loop   while   p1<255   and   not   aso.EOS  
        loop   while   true  
        aso.Read(3)  
        ret(0)="JPG"  
        ret(2)=binval2(aso.Read(2))  
        ret(1)=binval2(aso.Read(2))  
      case   else:  
        if   left(Bin2Str(bFlag),2)="BM"   then  
          aso.Read(15)  
          ret(0)="BMP"  
          ret(1)=binval(aso.Read(4))  
          ret(2)=binval(aso.Read(4))  
        else  
          ret(0)=""  
        end   if  
      end   select  
      ret(3)="width="""   &   ret(1)   &"""   height="""   &   ret(2)   &""""  
      getimagesize=ret  
    End   Function  
     
    Function   readX(pic_path)  
        Set   fso1   =   server.CreateObject("Scripting.FileSystemObject")  
        Set   f1   =   fso1.GetFile(pic_path)  
        ext=fso1.GetExtensionName(pic_path)  
        select   case   ext  
            case   "gif","bmp","jpg","png":  
        arr=getImageSize(f1.path)  
        Response.Write   arr(1)  
            case   "swf"  
        arr=pp.getimagesize(f1.path)  
        Response.Write   arr(1)  
        end   select  
        Set   f1=nothing  
        Set   fso1=nothing  
    End   Function  
   
    Function   readY(pic_path)  
        Set   fso1   =   server.CreateObject("Scripting.FileSystemObject")  
        Set   f1   =   fso1.GetFile(pic_path)  
        ext=fso1.GetExtensionName(pic_path)  
        select   case   ext  
            case   "gif","bmp","jpg","png":  
        arr=getImageSize(f1.path)  
        Response.Write   arr(2)  
            case   "swf"  
        arr=pp.getimagesize(f1.path)  
        Response.Write   arr(2)  
        end   select  
        Set   f1=nothing  
        Set   fso1=nothing  
    End   Function  
  End   Class  
  %>  
   
   
  test.asp:  
  <!--#include   file="picXY.asp"-->  
  <%  
    set   pp=new   possible  
    pp.readX("E:\work\bg.jpg")  
    pp.readY("E:\work\bg.jpg")  
  %>  
  Top

4 楼cnonline(抱着猫迷小姐睡觉的苗条耗子)回复于 2003-12-04 12:38:30 得分 0

那么知道大小了,可以缩小啊。Top

相关问题

  • 怎么通过id控制asp程序????谢谢 !!!!!!!
  • 怎么通过ASP程序删除test.html文件???谢谢!!!!
  • 请问ASP网页中怎样给Calendar组件通过程序赋初值?
  • 怎么添加数据到数据库,通过asp程序。谢谢帮忙!!!!!!!!!!!!!
  • 请问如何通过ASP程序创建数据库和表格
  • 客户端通过网页向服务器发送信息和服务通过asp程序响应的机理
  • 能不能用windows桌面程序来访问ASP程序,即不通过html和WEB浏览器访问ASP程序!
  • 通过程序启动sqlserver2000
  • 通过程序员,散分!!!!!!!!!!!!!!!!!!!!!
  • 高手请进,GIF/JPG文件如何通过程序得知图片的尺寸?

关键词

  • asp
  • 图片

得分解答快速导航

  • 帖主:cnonline

相关链接

  • Web开发类图书

广告也精彩

反馈

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