服务器之家

服务器之家 > 正文

asp.net 上传图片并同时生成缩略图的代码

时间:2019-07-09 16:46     来源/作者: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> 

相关文章

热门资讯

抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式 2019-06-13
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人 2019-06-05
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部