zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

NetASP上传代码 图片 生成 同时 缩略图
2023-06-13 09:14:16 时间
复制代码代码如下:

<%@PageLanguage="C#"ResponseEncoding="gb2312"%>
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Drawing"%>
<%@ImportNamespace="System.Drawing.Imaging"%>
<scriptrunat="server">
 
voidPage_Load(Objectsender,EventArgse)
{
if(!Page.IsPostBack)
{
ImgPreview.Visible=false;
}
}
voidGetThumbnailImage(intwidth,intheight,stringstrInfo,intleft,intright)
{
stringfile="Uploads/"+uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf("\\")+1);
stringnewfile="Uploads/"+uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf("\\")+1)+".jpg";
stringstrAdd=strInfo;
System.Drawing.Imageoldimage=System.Drawing.Image.FromFile(Server.MapPath(file));
System.Drawing.ImagethumbnailImage=
oldimage.GetThumbnailImage(width,height,newSystem.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback),IntPtr.Zero);
Response.Clear();
Bitmapoutput=newBitmap(thumbnailImage);
Graphicsg=Graphics.FromImage(output);
g.DrawString(strAdd,newFont("CourierNew",14),newSolidBrush(Color.Red),left,right);
output.Save(Server.MapPath(newfile),System.Drawing.Imaging.ImageFormat.Jpeg);
Response.ContentType="image/gif";
ImgPreview.Visible=true;
ImgPreview.ImageUrl=newfile;
}
boolThumbnailCallback()
{
returntrue;
}
voidButton_Click(objectsender,EventArgse)
{
intwidth,height,left,right;
stringstrAddInfo=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
{
stringpath=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>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title>上传图片并生成缩略图</title>
</head>
<body>
<formid="Form1"method="post"enctype="multipart/form-data"runat="server">
<p>
<inputid="uploadFile"type="file"runat="server"/>
<asp:LabelID="lblErrInfo"runat="server"ForeColor="Red"></asp:Label>
</p>
<p>
width:<asp:TextBoxID="txtWidth"runat="server"Width="40px">100</asp:TextBox>
height:<asp:TextBoxID="txtHeight"runat="server"Width="40px">150</asp:TextBox>
</p>
<p>
添加信息:<asp:TextBoxID="txtAddInfo"runat="server">AspxBoy.Com</asp:TextBox>
</p>
<p>
信息位置:left:<asp:TextBoxID="txtLeft"runat="server"Width="40px">10</asp:TextBox>
right:<asp:TextBoxID="txtRight"runat="server"Width="40px">135</asp:TextBox>
</p>
<p>
<inputid="button"type="button"value="上传生成所略图"onserverclick="Button_Click"runat="server"/>
</p>
<p>
<asp:ImageID="ImgPreview"runat="server"></asp:Image>
</p>
<!--Insertcontenthere-->
</form>
</body>
</html>

asp.net(vbscript)上传图片并同时生成缩略图:
复制代码代码如下:

  <scriptlanguage="VB"runat="server">
  SubUploadFile(senderAsObject,eAsEventArgs)
  IfFileUp.PostedFile.ContentLength=0Then
  FileInfo.Visible=False
  ExitSub
  Else
  FileInfo.Visible=True
  FDisplay1.Visible=True
  EndIf
  FSize.Text="上传文件大小"+CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
  FName.Text="已上传文件名:"+FileUp.PostedFile.FileName+"<br>"+FName.Text
  "写入数据库
  onerrorresumenext
  dimmyconnassqlconnection
  dimmycommassqlcommand
  dimsqlasstring
  dimidasinteger
  Dimimage,anewimageAsSystem.Drawing.Image
  dimwidth,height,newwidth,newheightasinteger
  DimcallbAsSystem.Drawing.Image.GetThumbnailImageAbort
  myConn=Newsqlconnection(ConfigurationSettings.AppSettings("数据库"))
  myconn.open()
  sql="insertintopicture(姓名,班级,介绍,属性)values(""&request.cookies("dgxyl").values("dgxylname")&"",""&request.cookies("dgxyl").values("dgxylbj")&"",""&trim(request("TextBox1"))&"",""&request("r1")&"")"
  Mycomm=Newsqlcommand(sql,myconn)
  mycomm.executenonquery()
  myconn.close()
  DimmyCommandAsNewSqlCommand("selecttop1idfrompictureorderbyiddesc",myConn)
  myCommand.Connection.Open()
  DimmyReaderAsSqlDataReader=mycommand.executereader()
  ifmyReader.Read()then
  id=myReader("id")
  endif
  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
  ifwidth>heightthen
  newwidth=250
  newheight=image.height/image.Width*newwidth
  else
  newheight=250
  newwidth=image.Width/image.height*newheight
  endif
  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,newSystem.IntPtr())
  aNewImage.Save(Server.MapPath("/smallpic/"+cstr(id)+".jpg"))
  image.Dispose()
  DimFileSplit()AsString=Split(FileUp.PostedFile.FileName,"\")
  DimFileNameAsString=FileSplit(FileSplit.Length-1)
  DimExts()AsString=Split(FileName,".")
  DimExtAsString=LCase(Exts(Exts.Length-1))
  FDisplay.Text="<ATarget="_blank"HREF="/classpic/"&cstr(id)&".jpg"&"">查看上传文件</A>"
  FDisplay1.text="<ahref="/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&"">返回</a>"
  EndSub
  </script>
  <SCRIPTlanguage=JavaScript>
  <!--
  varrequestsubmitted=false;
  functionguestbook_Validator(theForm)
  {
  //检查是否从新提交
  if(requestsubmitted==true){
  alert("你已经提交了留言,请等待服务器应答!");
  return(false);
  }
  requestsubmitted=true;
  return(true);
  }
  //-->
  </SCRIPT>
<Html>
  <BodyBgColor=White>
  <H3align="center">请正确填写下面各项</h3>
  <Hr></H3>
  <Divid="FileInfo"Visible="False"runat="server">
  <Asp:Labelid="FSize"runat="server"/><br>
  <Asp:Labelid="FName"runat="server"/><br>
  <Asp:Labelid="FDisplay"runat="server"/>
  <Asp:Labelid="FDisplay1"runat="server"/>
  </Div>
  <FormEnctype="multipart/form-data"onsubmit="returnguestbook_Validator(this)"runat="server">
  上传文件
  <InputType="File"id="FileUp"runat="server"size="20"><br>
  图片属性:<inputtype="radio"value="<%=request.cookies("dgxyl").values("dgxylbj")%>"name="R1"checked>本班<inputtype="radio"value="全  校"name="R1">全校(本班则只在本班显示,全校则在全校显示)<P>
  图片说明:<br>
  <asp:TextBoxid="TextBox1"runat="server"Width="233px"Height="141px">
  </asp:TextBox>
  <asp:RequiredFieldValidatorid="RequiredFieldValidator1"runat="server"ControlToValidate="TextBox1"ErrorMessage="请输入图片说明">
  </asp:RequiredFieldValidator><br>
  <Asp:buttonid="Upload"OnClick="UploadFile"Text="上传图片"runat="server"/>
  </form>
  <Hr>
  <p>注意:</p>
  <ol>
  <li><b>严禁上传污染环境的照片,否则账号将被删除!</b></li>
  <li><fontcolor="#808000"><b>请详细填写照片说明,图片说明不详细将会被视为乱传图片,将会被删除!</b></font></li>
  </ol>
  </Body>
  </Html>