logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> Asp/Asp.Net教程 -> ASP上传图片自动生成缩略图解决方案
回复
标题:ASP上传图片自动生成缩略图解决方案收藏 编辑 删除 楼主 | 上一篇 下一篇
小糊涂神
头像
等级:社区游民
权限:管理员
积分:3
金钱:4484
声望:12
经验:12
发帖数:2153
注册:未知
资料 短消息2006-6-25 17:08:17

说明:本功能基于Dreamweaver MX实现

    ------- 支持中文
    ------- 支持文件改名上传
    ------- 支持session模式上传
    ------- 支持分类上传
    ------- 自动生成缩略图 支持格式 bmp/jpg/gif/png
    ------- 支持定制生成图片(采样方式/旋转/锐化/文字添加/宽高/输出格式/等)

 需要:IIS服务器 、上传插件Pure Asp file Upload 2.09 、 第三方组件AspJpeg

     软件包名:asp_image_generate

        / aspjpeg.exe 第三方组件

        / pure_asp_upload.mxp 上传插件

        / pau_汉化包 pure_asp_upload.mxp 的汉化包

        / readme.txt 说明文件

        / lesson.mht 教程文件



 操作步骤:

 1. 在安装有IIS服务器的前提下 安装AspJpeg 1.2 --

 2. 安装DWMX插件 Pure Asp file Upload 2.09(英文原版) --

 3. 拷贝汉化包内的所有文件至安装文件夹下覆盖完成汉化
   这里你可以使用windows的文件搜索功能 在系统安装盘内分别搜索incPureUpload.asp(1个),
   Pure ASP Upload.htm(3个),Pure ASP Upload.js(3个),找到后用汉化文件覆盖



 Tip. 汉化版的优点
  



 4. 安装完成后打开SqlServer 企业管理器建立数据库dovia,并如图建立一个表mypubuploadb




 Tip. 这里也可以使用 Access数据库 , 相关设置可以参考 Aspjpeg 的帮助文档
 5. 打开DwMX 定义ASP/VBScript 新站点,定义数据库连接,这里使用系统DSN
   注意:站点根目录下新建一个uploadimges 用来存放上传的文件




 6. 新建asp页面,如:myupload0.asp 如下图插入form 并作相应调整
   其中有一个隐藏域取的是服务器时间 手工添加 value="<%=Now()%>"
   另外两个隐藏域为上传图片的高和宽的值,它们将由PAFU程序自动插入,这里无需设置




 7. 在同一asp页面新建一个记录集,取的记录就是表mypubuploadb的数据





 8. 新建两个session,一个名为"PPP1",另一个为“PPP0”
   这里建立的session将接受Pure asp upload 程序文件处理后传来的值,并被接下来的command所用




 9. 在同一asp页面新建 command 注意command程序位置应该在页首
   这个command的目的是更新数据表中字段smallpicSrc的值
   原理:上传文件时,结合Aspjpeg 的 上传处理文件incPureUpload.asp 先通过insert行为将大图片路径信息插入到表中
   bigpicSrc字段,并通过以上建立的session传回两个值,一个是大图片的路径,另一个是小图片的路径。当asp跳转页面时
   (在添加insert服务器行为时选择的跳转功能),即使用此command插入小图片路径信息至字段smallpicSrc





 10. 添加Pure Asp file Upload 服务器行为
   如图,安提示作,注意下图中 页面跳转 不填

主菜单设置



高级选项设置



确定





完成后的站点文件夹




 11. 在同一asp页面插入insert 服务器行为
   如图操作,注意 跳转页面 必须选择




 12. 在同一asp页面选择合适位置绑定第7步建立的记录集数据到页面,目的是显示已经上传的缩略图
   缩略图宽和高不设定




 13. 保存文件 基本工作完成.在IIS服务器里定义站点或虚拟目录,浏览测试
   缩略图完全自动生成,并且保持比例缩放



 

  ★. 进阶讨论 ★★★★★★★★★★★★★★
  
    关于生成的的缩略图:包括高度/宽度/格式/采样方式/锐化程度/旋转程度/添加文字/等均可以定制

    本例已将最常用功能结合到相关文件 请打开站点目录下文件夹ScriptLibrary内的incPureUpload.asp




   分析相关代码


--------------------------------------------------------------------------------


' Aspjpeg 功能设置
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' 获取源图片路径
Path = Server.MapPath("uploadimages/")&"/"&FileName

' 打开源图片
Jpeg.Open Path

' 设定生成缩略图细节 这里有很多种设定方法 下面的方法是先判断宽高比 然后按比例缩放

If Jpeg.OriginalWidth / Jpeg.OriginalHeight > 1 then
Jpeg.Width = 98
Jpeg.Height = int((98/Jpeg.OriginalWidth)*Jpeg.OriginalHeight)

elseif Jpeg.OriginalWidth / Jpeg.OriginalHeight < 1 then
Jpeg.Height = 98
Jpeg.Width= int(Jpeg.OriginalWidth*(98/Jpeg.Height))

end if


' 设定锐化效果
Jpeg.Sharpen 1, 130
' 向指定路径生成缩略图
Jpeg.Save Server.MapPath("uploadimages/")&"/small"&FileName

' 注意这两个Session
Session("PPP0")=GP_curPath&FileName
Session("PPP1")=GP_curPath&"small"&FileName


如果你想进一步定制 请参考 Aspjpeg 的帮助文档


最后提示: AspJpeg 1.3已经发布大家可以到 http://www.aspupload.com/aspjpeg.html 下载. AspJpeg 1.3 完全支持WIN 2003中英文版本(1.2版本也完全支持)

教程源代码下载:

上传的附件
文件类型: rar 704f6b86d21748daf5834f59c601df97.rar (471.76 KB)
  
签名
有肚量去容忍那些无法改变的事情
有勇气去改变那些可以改变的事情
有智慧去区别上述二类事

2006-6-25 17:08:17 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com