程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net 上傳圖片並同時生成縮略圖的代碼

asp.net 上傳圖片並同時生成縮略圖的代碼

編輯:ASP.NET基礎
復制代碼 代碼如下:
<%@ Page Language="C#" ResponseEncoding="gb2312" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<script runat="server">
 
void Page_Load(Object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ImgPreview.Visible = false;
}
}
void GetThumbnailImage(int width, int height, string strInfo, int left, int right)
{
string file = "Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1);
string newfile = "Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1) + ".jpg";
string strAdd = strInfo;
System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(file));
System.Drawing.Image thumbnailImage =
oldimage.GetThumbnailImage(width, height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
Response.Clear();
Bitmap output = new Bitmap(thumbnailImage);
Graphics g = Graphics.FromImage(output);
g.DrawString(strAdd, new Font("Courier New", 14), new SolidBrush(Color.Red), left, right);
output.Save(Server.MapPath(newfile), System.Drawing.Imaging.ImageFormat.Jpeg);
Response.ContentType = "image/gif";
ImgPreview.Visible = true;
ImgPreview.ImageUrl = newfile;
}
bool ThumbnailCallback()
{
return true;
}
void Button_Click(object sender, EventArgs e)
{
int width, height, left, right;
string strAddInfo = txtAddInfo.Text;
width = Int32.Parse(txtWidth.Text);
height = Int32.Parse(txtHeight.Text);
left = Int32.Parse(txtLeft.Text);
right = Int32.Parse(txtRight.Text);
if (!(uploadFile.PostedFile.ContentLength > 0))
{
lblErrInfo.Text = "沒有選擇文件";
}
else
{
string path = Server.MapPath("./Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1));
if (File.Exists(path))
{
lblErrInfo.Text = "已經有同名文件";
}
else
{
uploadFile.PostedFile.SaveAs(path);
GetThumbnailImage(width, height, strAddInfo, left, right);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>上傳圖片並生成縮略圖</title>
</head>
<body>
<form id="Form1" method="post" enctype="multipart/form-data" runat="server">
<p>
<input id="uploadFile" type="file" runat="server" />
<asp:Label ID="lblErrInfo" runat="server" ForeColor="Red"></asp:Label>
</p>
<p>
width:<asp:TextBox ID="txtWidth" runat="server" Width="40px">100</asp:TextBox>
height:<asp:TextBox ID="txtHeight" runat="server" Width="40px">150</asp:TextBox>
</p>
<p>
添加信息:<asp:TextBox ID="txtAddInfo" runat="server"> AspxBoy.Com</asp:TextBox>
</p>
<p>
信息位置:left:<asp:TextBox ID="txtLeft" runat="server" Width="40px">10</asp:TextBox>
right:<asp:TextBox ID="txtRight" runat="server" Width="40px">135</asp:TextBox>
</p>
<p>
<input id="button" type="button" value="上傳生成所略圖" onserverclick="Button_Click" runat="server" />
</p>
<p>
<asp:Image ID="ImgPreview" runat="server"></asp:Image>
</p>
<!-- Insert content here -->
</form>
</body>
</html>

asp.net(vbscript)上傳圖片並同時生成縮略圖:
復制代碼 代碼如下:
  <script language="VB" runat="server">
  Sub UploadFile(sender As Object, e As EventArgs)
  If FileUp.PostedFile.ContentLength = 0 Then
  FileInfo.Visible = False
  Exit Sub
  Else
  FileInfo.Visible = True
  FDisplay1.Visible = True
  End If
  FSize.Text ="上傳文件大小"+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
  FName.Text = "已上傳文件名:"+FileUp.PostedFile.FileName+"<br>"+FName.Text
  "寫入數據庫
  on error resume next
  dim myconn as sqlconnection
  dim mycomm as sqlcommand
  dim sql as string
  dim id as integer
  Dim image,anewimage As System.Drawing.Image
  dim width,height,newwidth,newheight as integer
  Dim callb As System.Drawing.Image.GetThumbnailImageAbort
  myConn=New sqlconnection(ConfigurationSettings.AppSettings("數據庫"))
  myconn.open()
  sql="insert into picture (姓名,班級,介紹,屬性) values (""&request.cookies("dgxyl").values("dgxylname")&"",""&request.cookies("dgxyl").values("dgxylbj")&"",""&trim(request("TextBox1"))&"",""&request("r1")&"")"
  Mycomm=New sqlcommand(sql,myconn)
  mycomm.executenonquery()
  myconn.close()
  Dim myCommand As New SqlCommand("select top 1 id from picture order by id desc", myConn)
  myCommand.Connection.Open()
  Dim myReader As SqlDataReader=mycommand.executereader()
  if myReader.Read() then
  id=myReader("id")
  end if
  myconn.close()
  "保存圖片
  FileUp.PostedFile.SaveAs( Server.MapPath("\classpic\")&cstr(id)&".jpg" )
  "生成縮略圖
  image=System.Drawing.Image.FromFile(Server.MapPath("/classpic/"+cstr(id)+".jpg"))
  width=image.Width
  height=image.height
  if width>height then
  newwidth=250
  newheight=image.height/image.Width*newwidth
  else
  newheight=250
  newwidth=image.Width/image.height*newheight
  end if
  response.write("id="+cstr(id)+"width="+cstr(Width)+";height="+cstr(height)+" ")
  response.write("newwidth="+cstr(newwidth)+";newheight="+cstr(newheight)+"<br>")
  aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr())
  aNewImage.Save(Server.MapPath("/smallpic/"+cstr(id)+".jpg"))
  image.Dispose()
  Dim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
  Dim FileName As String = FileSplit(FileSplit.Length-1)
  Dim Exts() As String = Split( FileName, "." )
  Dim Ext As String = LCase(Exts(Exts.Length-1))
  FDisplay.Text = "<A Target="_blank" HREF="/classpic/"&cstr(id)&".jpg"& "">查看上傳文件</A>"
  FDisplay1.text="<a href="/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&"">返回</a>"
  End Sub
  </script>
  <SCRIPT language=JavaScript>
  <!--
  var requestsubmitted=false;
  function guestbook_Validator(theForm)
  {
  //檢查是否從新提交
  if (requestsubmitted==true){
  alert("你已經提交了留言,請等待服務器應答!");
  return(false);
  }
  requestsubmitted=true;
  return (true);
  }
  //-->
  </SCRIPT>
<Html>
  <Body BgColor=White>
  <H3 align="center">請正確填寫下面各項</h3>
  <Hr></H3>
  <Div id="FileInfo" Visible="False" runat="server">
  <Asp:Label id="FSize" runat="server"/><br>
  <Asp:Label id="FName" runat="server"/><br>
  <Asp:Label id="FDisplay" runat="server"/>
  <Asp:Label id="FDisplay1" runat="server"/>
  </Div>
  <Form Enctype="multipart/form-data" onsubmit="return guestbook_Validator(this)" runat="server">
  上傳文件
  <Input Type="File" id="FileUp" runat="server" size="20"><br>
  圖片屬性:<input type="radio" value="<%=request.cookies("dgxyl").values("dgxylbj")%>" name="R1" checked>本班<input type="radio" value="全  校" name="R1">全校(本班則只在本班顯示,全校則在全校顯示)<P>
  圖片說明:<br>
  <asp:TextBox id="TextBox1" runat="server" Width="233px" Height="141px">
  </asp:TextBox>
  <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="請輸入圖片說明">
  </asp:RequiredFieldValidator><br>
  <Asp:button id="Upload" OnClick="UploadFile" Text="上傳圖片" runat="server"/>
  </form>
  <Hr>
  <p>注意:</p>
  <ol>
  <li><b>嚴禁上傳污染環境的照片,否則賬號將被刪除!</b></li>
  <li><font color="#808000"><b>請詳細填寫照片說明,圖片說明不詳細將會被視為亂傳圖片,將會被刪除!</b></font></li>
  </ol>
  </Body>
  </Html>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved