asp.net上传图片并同时生成缩略图的代码
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>
相关文章
- ASP.NET WEB——项目创建与文件上传操作
- .Net Core3.1 SignalR for WPF Asp.net
- .net让Oracle与ASP.NET实现无缝连接(oracleasp)
- ASP操作Oracle数据库(asp链接oracle)
- ASP技术保障Oracle数据库安全备份(asp备份oracle)
- ASP.NET通过Remotingservice上传文件
- 在ASP.NET中实现多文件上传的方法
- ASP.NET实现用图片进度条显示投票结果
- ASP.Net的安全相关说明
- asp.net简易生成注册码(数字+大小写字母)
- Asp.net中使用Sqlite数据库的方法
- ASP.NET定制简单的错误处理页面实现代码
- asp.net使用Response.Filter过滤非法词汇
- asp.net获取TreeView中第一个选中的节点
- asp.net上传图片保存到数据库的代码
- 导致Asp.Net站点重启10个原因小结分析
- asp.net保存、修改没有runat=server控件的控件值的一个解决方案
- asp.net多图片上传实现程序代码
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- .Net中导出数据到Excel(asp.net和winform程序中)
- 浅谈ASP.NET的include的使用方法
- asp.net抓取网页源码三种实现方法
- asp.net上传图片并作处理水印与缩略图的实例代码
- Asp.Net上传图片验证代码的小例子
- ASP.NET连接SQL数据库的简单实例代码
- asp.net中mvc使用ajax提交参数的匹配问题解决探讨
- Asp.net第三方控件ComboBox组合框介绍
- asp.net图片上传实例
- asp.net利用存储过程实现模糊查询示例分享