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

來源:互聯網
上載者:User

複製代碼 代碼如下:<%@ 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>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.