當前位置:首頁 » 文件管理 » 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