当前位置:首页 » 文件管理 » asp上传压缩

asp上传压缩

发布时间: 2023-08-01 01:27:39

A. asp.net 将原图用代码自动压缩成规定大小后上传

/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height; switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width / originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height / originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * height / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default:
break;
} //新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight); //新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
g.Clear(System.Drawing.Color.Transparent); //在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new System.Drawing.Rectangle(0, 0, towidth, toheight),
new System.Drawing.Rectangle(x, y, ow, oh),
System.Drawing.GraphicsUnit.Pixel); try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}

B. asp网站上传图片自动压缩图片大小代码,把以下代码修改成能够压缩图片的代码。

要压缩图片大小的必须要有组件,就是服务器要支持这个组件才可以。
下面介绍一个:
ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出图片的缩略图和为图片加上水印功能。

实际怎么样我没有用过这个组件不做评价,你可以网上找找。

C. 如何让asp自动压缩图片大小

float k;
k=Img.Width/Img.Height;
if(Img.Width>Img.Height)
{
Img.Width=500;Img.Height=Convert.ToInt32(Convert.ToSingle(500)/k);
}
else
{
Img.Height=500;Img.Width=Convert.ToInt32(Convert.ToSingle(500)*k);
}

D. asp.net用FileUpload控件上传.zip的压缩包到服务器之后自动解压到指定的文件夹下怎么实现

分为两步:
1.
文件上传到服务器某个目录,这一步比较简单;
2.
将文件进行解压到某个目录,这一步需要用到一个Ionic.Zip.dll。

E. 用ASP实现在线压缩与解压缩

一 问题的提出 随着互连网的纤晌发展 网站的数量以惊人的数字增加 网站的作用除了给广大网友们提供信息资讯服务外 还应该成为网友们上传与下载文件的场所 在上传与下载文件的过程中 传输时间是关键 这就要求有较快桐猜的传输速度 在传输速度固定不变或是上下变动不大的情况下 尽量减小传输文件的体积 是一个可行的办法 上传文件的时候 先将要上传的文件用WINRAR压缩 上传成功后在网站内通过程序实现解压缩 下载文件的时候 先将要下载的文件在网站内通过程序实现压缩然后再下载 本文就针对该问题的解决进行探讨

二 方法与说明

首先要上传一个WINRAR的解压程序 就是WINRAR自己的解压程序 只需要它的核心程序RAR EXE这个文件就可以了 在WINRAR的安装目录里可以找到 然后要上传一个执行RAR EXE的程序 CMD EXE 这个是WINDOWS操作系统里的程序 在系统盘WINNT/SYSTEM 文件夹中可以找到 上传完这两个文件后 就需要编写一些程序代码来实现压缩与解压缩

不妨将实现压缩功能的文件取名为ZIP ASP 实现解压缩功能的文件取名为UNZIP ASP

程序代码中包含了WINRAR这个应用程序的命令行语法 下面简单介绍一下

WinRAR <命令> <开关 > <开关N> <压缩文件> <文件……> <@列表文件……> <解压路径>

命令 要 WinRAR 运行的字符组合代表功能

开关 切换操作指定类型 压缩强度 压缩文件类型 等等的定义

压缩文件 要处理的压缩文件名

文件 要处理的文件名

列表文件 列表文件是包含要处理文件名称的纯文本 文件名应该在第一卷启动 可以在列表文件中使用//字符后添加注释 例如 你可以包含两列字符串创建 backup lst c workdoc* txt //备份文本文档 c workimage* bmp //备份图片c workmisc并接着运行 winrar a backup @backup lst你可以在命令行中同时指定普毁轮锋通的文件名和列表文件名

解压路径 只与命令 e 和 x 搭配使用 指出解压文件添加的位置 如果文件夹不存在时 会自动创建

字母命令列表

a 添加文件到压缩文件 c 添加压缩文件注释 d 从压缩文件删除文件 e 从压缩文件解压压缩 忽略路径 f 刷新压缩文件中的文件 i 在压缩文件中查找字符串 k 锁定压缩文件 m 移动文件和文件夹到压缩文件 r 修复受损的压缩文件 rc 重建丢失的卷 rn 重命名压缩文件 rr[N] 添加数据恢复记录 rv[N] 创建恢复卷 s[name] 转换压缩文件成为自解压文件类型 s 删除自解压模块 t 测试压缩文件 u 从压缩文件中更新文件 x 以完整路径名称从压缩文件解压压缩其实程序代码中的关键之处就是用Server CreateObject( Wscript Shell )来执行CMD EXE CMD EXE运行RAR EXE通过WINRAR的命令来执行解压缩文件与压缩文件的 三 程序清单

ZIP ASP程序清单 <% main文件夹中包含cmd exe rar exe 例如 要压缩的文件(* mdb) 压缩后的存放目录为maindata raron error resume nextunzip_path=Server mappath( main )& Set WshShell = server CreateObject( Wscript Shell )IsSuccess = WshShell Run ( winrar a &unzip_path& data &unzip_path& * mdb False) WinRAR <命令> <开关 > <开关N> <压缩文件> <文件 > <@列表文件 > <解压路径> 命令: A 添加到压缩文件中if IsSuccess = ThenResponse write 命令成功执行! elseResponse write 命令执行失败!权限不够或者该程序无法运行 end ifif err number <> thenResponse Write <p>错误号码 & Err numberResponse Write <p>原因 & Err descriptionResponse Write <p>错误来源 & Err SourceResponse Write end if%>

UNZIP ASP程序清单 <% main文件夹中包含cmd exe rar exe 要解压缩的文件(* rar) 解压缩后的存放目录为mainon error resume nextunzip_path=Server mappath( main )& Set WshShell = server CreateObject( Wscript Shell )IsSuccess = WshShell Run ( winrar x r o+ &unzip_path& * rar &unzip_path& False) WinRAR <命令> <开关 > <开关N> <压缩文件> <文件 > <@列表文件 > <解压路径> 命令: X 从压缩文件中全路径解压文件 开关: R 连同子文件夹 开关: O+ 覆盖已经存在的文件 开关: O 不覆盖已经存在的文件if IsSuccess = ThenResponse write 命令成功执行! elseResponse write 命令执行失败!权限不够或者该程序无法运行 end ifif err number <> thenResponse Write <p>错误号码 & Err numberResponse Write <p>原因 & Err descriptionResponse Write <p>错误来源 & Err SourceResponse Write end if%>

四 结论

lishixin/Article/program/net/201311/13376

F. asp程序如何做网页压缩

建议用通用的GZIP压缩win2003中,在IIS管理器中,“网站”上面右键-属性,是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。重新启动IIS。
即可检测到启用GZip压缩。有些服务器直接就支持了,可以先检测

G. 使用“化境ASP无组件上传类”或是“风声无组件上传类”如何压缩图片

aspjpeg对,楼上说了,用aspjpeg。
Set Jpegppp = Server.CreateObject("Persits.Jpeg")
Jpegppp.Open FileName
Jpegppp.PreserveAspectRatio=true'等比缩放
Jpegppp.Interpolation=2
Jpegppp.Quality=100
Jpegppp.Width = 宽度
Jpegppp.crop 0,CInt((Jpegppp.Height-高度)/2),宽度,CInt((Jpegppp.Height-高度)/2)+高度
jpegppp.Sharpen 1, 120
Jpegppp.Save server.MapPath(strDir&""&file_numa&"2"&file_numab&fileEXT)
Jpegppp.close
set Jpegppp=nothing

H. asp 实现图片上传的时候压缩他

按比例压缩图片:

SmallImgFilet = "SmallImg-"&smallname&".jpg" '小图片指定取名

If IsEmpty(SmallImgFile) then

'dim L as Single , H as Single

Set Jpeg = Server.CreateObject("Persits.Jpeg") '调用组件

Path = Server.MapPath("../") & "\" & BigImgFile '待缩小图片路径 放在根目录 你可以制定文件夹 在../后面
Jpeg.Open Path '打开图片
L = 120/80'缩略图高与宽比 你如果只限制宽度就不用下面else的高度比例判断 只按宽度的对应大图比例缩小就可以了

H= jpeg.OriginalWidth/jpeg.OriginalHeight

If H > L Then
jpeg.Width = 120
jpeg.Height = (jpeg.OriginalHeight*120)/jpeg.OriginalWidth
Else
jpeg.Height = 80
jpeg.Width = (jpeg.OriginalWidth*80)/jpeg.OriginalHeight
End If
'保存图片
Jpeg.Save Server.MapPath("../") & "\"&SmallImgFilet'&".jpg"
set Jpeg=nothing
end if

I. 求asp.net 图片上传压缩图片大小代码 就是减小图片的分辨率存储图片到服务器

c#生成图片缩略图的类
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;

/// <summary>
/// 图片处理类
/// 1、生成缩略图片或按照比例改变图片的大小和画质
/// 2、将生成的缩略图放到指定的目录下
/// </summary>
public class ImageClass
{
public Image ResourceImage;
private int ImageWidth;
private int ImageHeight;

public string ErrMessage;

/// <summary>
/// 类的构造函数
/// </summary>
/// <param name="ImageFileName">图片文件的全路径名称</param>
public ImageClass(string ImageFileName)
{
ResourceImage=Image.FromFile(ImageFileName);
ErrMessage="";
}

public bool ThumbnailCallback()
{
return false;
}

/// <summary>
/// 生成缩略图重载方法1,返回缩略图的Image对象
/// </summary>
/// <param name="Width">缩略图的宽度</param>
/// <param name="Height">缩略图的高度</param>
/// <returns>缩略图的Image对象</returns>
public Image GetRecedImage(int Width,int Height)
{
try
{
Image RecedImage;

Image.GetThumbnailImageAbort callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);

RecedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);

return RecedImage;
}
catch(Exception e)
{
ErrMessage=e.Message;
return null;
}
}

/// <summary>
/// 生成缩略图重载方法2,将缩略图文件保存到指定的路径
/// </summary>
/// <param name="Width">缩略图的宽度</param>
/// <param name="Height">缩略图的高度</param>
/// <param name="targetFilePath">缩略图保存的全文件名,(带路径),参数格式:D:Images ilename.jpg</param>
/// <returns>成功返回true,否则返回false</returns>
public bool GetRecedImage(int Width,int Height,string targetFilePath)
{
try
{
Image RecedImage;

Image.GetThumbnailImageAbort callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);

RecedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);
RecedImage.Save(@targetFilePath,ImageFormat.Jpeg);

RecedImage.Dispose();

return true;
}
catch(Exception e)
{
ErrMessage=e.Message;
return false;
}
}

/// <summary>
/// 生成缩略图重载方法3,返回缩略图的Image对象
/// </summary>
/// <param name="Percent">缩略图的宽度百分比 如:需要百分之80,就填0.8</param>
/// <returns>缩略图的Image对象</returns>
public Image GetRecedImage(double Percent)
{
try
{
Image RecedImage;

Image.GetThumbnailImageAbort callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);

ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);

RecedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);

return RecedImage;
}
catch(Exception e)
{
ErrMessage=e.Message;
return null;
}
}

/// <summary>
/// 生成缩略图重载方法4,返回缩略图的Image对象
/// </summary>
/// <param name="Percent">缩略图的宽度百分比 如:需要百分之80,就填0.8</param>
/// <param name="targetFilePath">缩略图保存的全文件名,(带路径),参数格式:D:Images ilename.jpg</param>
/// <returns>成功返回true,否则返回false</returns>
public bool GetRecedImage(double Percent,string targetFilePath)
{
try
{
Image RecedImage;

Image.GetThumbnailImageAbort callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);

ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);

RecedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);

RecedImage.Save(@targetFilePath,ImageFormat.Jpeg);

RecedImage.Dispose();

return true;
}
catch(Exception e)
{
ErrMessage=e.Message;
return false;
}
}

}
本篇文章来源于:开发学院 http://e.codepub.com 原文链接:http://e.codepub.com/2011/0118/28884.php

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726