当前位置:  编程技术>.net/c#/asp.net

c#(vb.net)上传图片并生成缩略图的实现代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  asp.net上传图片并生成缩略图的实现代码,分c#与vb.net两个版本,有需要的朋友参考下。 1、c#版的   代码示例:   void Page_Load(Object sender, EventArgs e) { if (!Page.IsPostBack) { ImgPreview.Visible = false; } } void GetThumbnailImage(int ...

asp.net上传图片并生成缩略图的实现代码,分c#与vb.net两个版本,有需要的朋友参考下。

1、c#版的
 

代码示例:






 
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);
}
}
}



上传图片并生成缩略图








width:100
height:150



添加信息: AspxBoy.Com



信息位置:left:10
right:135











2、vb.net版的
 

代码示例:

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+"
"+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)+"
")
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 = "查看上传文件"
FDisplay1.text="返回"
End Sub






请正确填写下面各项










上传文件


图片属性:本班全校(本班则只在本班显示,全校则在全校显示)


图片说明:









注意:



  • 严禁上传垃圾照片,后果自负!

  • 请详细填写照片说明!




  •     
     
     

    您可能感兴趣的文章:

  • NET c#索引器(indexer)介绍及代码示例
  • C#.NET学习笔记5 C#中的条件编译
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 用C#,asp.net 做的网站,能用Linux做服务器吗?
  • c#(asp.net)接收存储过程返回值的方法
  • C#难点逐个击破(6):C#数据类型与.net framework数据类型
  • c#正则过滤图片标签 asp.net正则过滤的例子
  • 【人才】有没有人会用VC6.0/VS2003.NET/VS2005.NET写WINDOWS下的驱动程序呀。 iis7站长之家
  • PowerShell 定时执行.Net(C#)程序的方法
  • asp.net(c#版)添加DataRow数据列到DataTable控件
  • c#(asp.net) new与override的区别
  • c#(asp.net)连接excel的实例代码
  • C# .net实现货币转换示例
  • 如何让C#、VB.NET实现复杂的二进制操作
  • asp.net(c#) 使用Rex正则来生成字符串数组的代码
  • c#数据绑定之向查询中添加参数(.Net连接外部数据库)
  • C# .NET自定义类实现伪静态页面的代码
  • C#利用ODP.net连接Oracle数据库的操作方法
  • 关于C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.NET4中的使用介绍方法
  • C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
  • c# asp .net 动态创建sql数据库表的方法
  • asp.net 简单生成缩略图的代码详解
  • c#(asp.net)图片上传且生成高清缩略图的代码
  • asp.net生成缩略图示例方法分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • asp.net 生成无重复随机数的代码
  • asp.net 生成静态页时如何过滤掉viewstate
  • .net生成静态页面的简单示例
  • asp.net生成图片验证码的例子
  • asp.net生成与解析二维码的例子
  • 关于linux系统下基于NET-SNMP开发使用mib2c工具生成出现错误。--在线等。
  • asp.net创建位图生成验证图片类(验证码类)
  • asp.net生成二维表格的实例代码
  • Asp.net动态生成html页面的实例详解
  • asp.net随机验证码生成示例
  • asp.net(C#)生成无限级别菜单的代码
  • asp.net验证码图片生成示例
  • 关于Linux下net-snmp mib2c 生成.c和.h修改问题
  • 使用ASP.NET模板生成HTML静态页的方法
  • asp.net生成静态页面并分页的实现方法
  • c# .net 生成曲线图的代码
  • asp.net(C#)生成Code39条形码实例 条码枪可以扫描出
  • C#(.net)水印图片的生成完整实例
  • java命名空间javax.net类socketfactory的类成员方法: createsocket定义及介绍
  • .NET版的ExtJS库 Ext.Net
  • java命名空间java.net类datagramsocket的类成员方法: disconnect定义及介绍
  • node.js的.net扩展 node.net
  • java命名空间java.net类datagramsocket的类成员方法: close定义及介绍
  • 为什么输http://www.china-java.net,会自动改为http://www.china-java.net:8081?
  • java命名空间java.net接口cookiestore的类成员方法: get定义及介绍
  • 各位之不知道net-snmp是否收费?我的产品中用到了net-snmp lib是否需要向什么单位或者组织付费?
  • java命名空间java.net类socket的类成员方法: isbound定义及介绍
  • 【人才】有没有人会用VC6.0/VS2003.NET/VS2005.NET写WINDOWS下的驱动程序呀。
  • java命名空间java.net类datagrampacket的类成员方法: getsocketaddress定义及介绍
  • Java.NET or J#.NET is coming!
  • java命名空间java.net类multicastsocket的类成员方法: getinterface定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3