直接上代码。前提是:服务器上必需支持AspJpeg组件
upload_json.asp 修改 增加 自动压缩代码。
....... 以上省略.........
If Not fso.FileExists(filePath) Then
showError("上传文件失败。")
else
'缩小大图
call ysbigpic(filePath)
End If
Response.AddHeader "Content-Type", "text/html; charset=UTF-8"
Set hash = jsObject()
hash("error") = 0
hash("url") = fileUrl
hash.Flush
Response.End
Function showError(message)
Response.AddHeader "Content-Type", "text/html; charset=UTF-8"
Dim hash
Set hash = jsObject()
hash("error") = 1
hash("message") = message
hash.Flush
Response.End
End Function
Sub ysbigpic(FileName)
Dim bigpic,bigpicPath,fss,n_MaxWidth
Set bigpic = Server.CreateObject("Persits.Jpeg")
Set fss=createobject("scripting.filesystemobject")
'设置图片质量
bigpic.Interpolation=2
bigpic.Quality=90
' 图片位置
If fss.fileExists(FileName) then
bigpic.Open FileName
'下面是按比例缩放
n_MaxWidth=1920
'按比例取得缩略图宽度和高度
Dim n_OriginalWidth, n_OriginalHeight '原图片宽度、高度
Dim n_BuildWidth, n_BuildHeight '缩略图宽度、高度
Dim n '缩小比例
'修改Jpeg
n_OriginalWidth = bigpic.Width
n_OriginalHeight = bigpic.Height
n = 0
If n_OriginalWidth > n_MaxWidth Then
n = n_OriginalWidth / n_MaxWidth
'指定宽度和高度生成
bigpic.Width = n_MaxWidth
bigpic.Height = n_OriginalHeight / n
End If
' 保存文件
bigpic.Save (FileName)
' 注销对象
Set bigpic = Nothing
End if
End Sub