asp.net code to upload images and generate thumbnails at the same time

  • 2020-05-09 18:22:25
  • OfStack


<%@ 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 = " No selected file "; 
} 
else 
{ 
string path = Server.MapPath("./Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1)); 
if (File.Exists(path)) 
{ 
lblErrInfo.Text = " You already have a file with the same name "; 
} 
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> Upload the image and generate thumbnails </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> 
 Add information: <asp:TextBox ID="txtAddInfo" runat="server"> AspxBoy.Com</asp:TextBox> 
</p> 
<p> 
 Information location: 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=" Upload generated sketch " 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) uploads images and generates thumbnails at the same time:
 
  <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 =" Upload file size "+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB" 
  FName.Text = " Uploaded file name :"+FileUp.PostedFile.FileName+"<br>"+FName.Text 
  " Write to database  
  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(" The database ")) 
  myconn.open() 
  sql="insert into picture ( The name , The class , introduce , attribute ) 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() 
  " Save the picture  
  FileUp.PostedFile.SaveAs( Server.MapPath("\classpic\")&cstr(id)&".jpg" ) 
  " Generate thumbnails  
  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"& ""> View the uploaded file </A>" 
  FDisplay1.text="<a href="/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&""> return </a>" 
  End Sub 
  </script> 
  <SCRIPT language=JavaScript> 
  <!-- 
  var requestsubmitted=false; 
  function guestbook_Validator(theForm) 
  { 
  // Check for resubmission  
  if (requestsubmitted==true){ 
  alert(" You have submitted the message, please wait for the server to reply! "); 
  return(false); 
  } 
  requestsubmitted=true; 
  return (true); 
  } 
  //--> 
  </SCRIPT> 
<Html> 
  <Body BgColor=White> 
  <H3 align="center"> Please fill in the following items correctly </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"> 
 Upload a file  
  <Input Type="File" id="FileUp" runat="server" size="20"><br> 
 Image properties: <input type="radio" value="<%=request.cookies("dgxyl").values("dgxylbj")%>" name="R1" checked> This class <input type="radio" value=" The whole school " name="R1"> The whole school ( This class is only displayed in this class, the whole school is displayed in the whole school )<P> 
 Photo caption: <br> 
  <asp:TextBox id="TextBox1" runat="server" Width="233px" Height="141px"> 
  </asp:TextBox> 
  <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage=" Please enter a picture to explain "> 
  </asp:RequiredFieldValidator><br> 
  <Asp:button id="Upload" OnClick="UploadFile" Text=" To upload pictures " runat="server"/> 
  </form> 
  <Hr> 
  <p> Note: </p> 
  <ol> 
  <li><b> It is strictly prohibited to upload photos that pollute the environment, otherwise the account will be deleted! </b></li> 
  <li><font color="#808000"><b> Please fill in the photo description in detail, if the photo description is not detailed, it will be regarded as a random picture, will be deleted! </b></font></li> 
  </ol> 
  </Body> 
  </Html> 

Related articles: