在asp.Net中使用fileuplod控件实现上传图片的功能
2010-05-09 19:55
1021 查看
很多地方都应用到图片上传功能,那么究竟怎样可以实现呢?下面我来给大家进行讲解
在visual studio中自带的一个控件fileupload,可以实现此功能,我要给大家介绍的是它的用法。
首先要新建一个网页(下面是我创建好的一个网页)
在网页中拖进fileupload控件,后面放一个上传按钮
这样,当我们点击上传按钮时,图片就会上传到服务器上去
步骤:
1. 先要在根目录下面新建一个文件夹,用来放置上传的图片
2. 顺便拖进一个lable控件,以便看清上传的图片的详细地址
3. 再放进一个image控件,这样,就可以实现预览功能了(前三步都是准备工作,下面就开始进行主要的操作)
4.双击上传按钮,进入aspx。Cs界面,在按钮下要写代码,下面是我写的
protected void Button1_Click(object sender, EventArgs e)
{
string sqlstr = ConfigurationManager.ConnectionStrings["zhenji"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件获取上传文件的文件名
if (strName != "")//如果文件名存在
{
int i = strName.LastIndexOf(".");//获取。的索引顺序号,在这里。代表图片名字与后缀的间隔
string kzm = strName.Substring(i);//获取文件扩展名
string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性
string xiangdui = @"~/images/";//设置文件相对网站根目录的保存路径 ,~号表示当前目录,在此表示根目录下的images文件夹
string juedui = Server.MapPath("~//images//");//设置文件保存的本地目录绝对路径,对于路径中的字符“\”在字符串中必须以“\\”表示,因为“\”为特殊字符。或者可以使用上一行的给路径前面加上@
string newFileName = juedui + newName + kzm;
FileUpload1.PostedFile.SaveAs(newFileName);//将图片存储到服务器上
Label1.Text = newFileName;//为了能看清楚我们提取出来的图片地址,在这使用label
Image1.Visible = true;//最开始我们把图片的属性设置为不可见,是为了美观,在这要显示,所以就设置为可见
Image1.ImageUrl = xiangdui + newName + kzm;//当图片属性为可见时,就要设置图片的链接地址。在这里,一定要写图片的相对路径,因为要显示的是已经传在服务器上的图片
}
conn.Close();
}
5.结果
下面我再像大家介绍一些文件上传代码的方法说明:
strName。LastIndexOf(“。”) 获取字符中最后一个。在字符串 strName中的索引顺序号,比如字符串“as。Fa。tex”,调用该方法的结果为:5
strName。Substring(i) 获取从索引i开始到结束的子字符串;比如字符串为“as。Fa。tex”,调用该方法Substring(4)得到的字符串为“。tex”
Guid。NewGuid() Guid是用于生成唯一标识的类,而NewGuid()可以生成一个36为字符串。并且保证每次生成的字符串不重复。需要注意的是它生成的不是string类型
Server。MapPath(“~//admin//images”) 获取网站文件或文件夹在服务器中完整磁盘路径。对于路径中的字符“/”在字符串中必须以“//”表示,因为“/”为特殊字符,或者可以使用server.MapPath(@”~/admin/images”)
Directory.Exists(absolutePath) 判断路径是否存在,注意使用Directory类必须先引用System.IO命名空间
Directory.Creatory(absolutePath)在磁盘中创建路径
在visual studio中自带的一个控件fileupload,可以实现此功能,我要给大家介绍的是它的用法。
首先要新建一个网页(下面是我创建好的一个网页)
在网页中拖进fileupload控件,后面放一个上传按钮
这样,当我们点击上传按钮时,图片就会上传到服务器上去
步骤:
1. 先要在根目录下面新建一个文件夹,用来放置上传的图片
2. 顺便拖进一个lable控件,以便看清上传的图片的详细地址
3. 再放进一个image控件,这样,就可以实现预览功能了(前三步都是准备工作,下面就开始进行主要的操作)
4.双击上传按钮,进入aspx。Cs界面,在按钮下要写代码,下面是我写的
protected void Button1_Click(object sender, EventArgs e)
{
string sqlstr = ConfigurationManager.ConnectionStrings["zhenji"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件获取上传文件的文件名
if (strName != "")//如果文件名存在
{
int i = strName.LastIndexOf(".");//获取。的索引顺序号,在这里。代表图片名字与后缀的间隔
string kzm = strName.Substring(i);//获取文件扩展名
string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性
string xiangdui = @"~/images/";//设置文件相对网站根目录的保存路径 ,~号表示当前目录,在此表示根目录下的images文件夹
string juedui = Server.MapPath("~//images//");//设置文件保存的本地目录绝对路径,对于路径中的字符“\”在字符串中必须以“\\”表示,因为“\”为特殊字符。或者可以使用上一行的给路径前面加上@
string newFileName = juedui + newName + kzm;
FileUpload1.PostedFile.SaveAs(newFileName);//将图片存储到服务器上
Label1.Text = newFileName;//为了能看清楚我们提取出来的图片地址,在这使用label
Image1.Visible = true;//最开始我们把图片的属性设置为不可见,是为了美观,在这要显示,所以就设置为可见
Image1.ImageUrl = xiangdui + newName + kzm;//当图片属性为可见时,就要设置图片的链接地址。在这里,一定要写图片的相对路径,因为要显示的是已经传在服务器上的图片
}
conn.Close();
}
5.结果
下面我再像大家介绍一些文件上传代码的方法说明:
strName。LastIndexOf(“。”) 获取字符中最后一个。在字符串 strName中的索引顺序号,比如字符串“as。Fa。tex”,调用该方法的结果为:5
strName。Substring(i) 获取从索引i开始到结束的子字符串;比如字符串为“as。Fa。tex”,调用该方法Substring(4)得到的字符串为“。tex”
Guid。NewGuid() Guid是用于生成唯一标识的类,而NewGuid()可以生成一个36为字符串。并且保证每次生成的字符串不重复。需要注意的是它生成的不是string类型
Server。MapPath(“~//admin//images”) 获取网站文件或文件夹在服务器中完整磁盘路径。对于路径中的字符“/”在字符串中必须以“//”表示,因为“/”为特殊字符,或者可以使用server.MapPath(@”~/admin/images”)
Directory.Exists(absolutePath) 判断路径是否存在,注意使用Directory类必须先引用System.IO命名空间
Directory.Creatory(absolutePath)在磁盘中创建路径
相关文章推荐
- 在asp.Net中使用fileuplod控件实现上传图片的功能
- 在ASP.NET项目中使用CKEditor +CKFinder实现图片上传功能
- Asp.net MVC使用swupload实现多图片上传功能
- ASP.NET使用Jcrop插件实现图片上传裁剪功能
- 分享ASP.NET使用Lodop控件实现Web打印功能
- 基于ASP.NET+easyUI框架实现图片上传功能(表单)
- 基于ASP.NET+easyUI框架实现图片上传功能(表单)
- ASP.NET使用文件上传控件上传图片
- ASP.NET项目中使用CKEditor +CKFinder 实现上传图片
- ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传
- 使用NeatUpload控件实现ASP.NET大文件上传
- Asp.Net 自定义控件实现图片的上传,浏览,删除功能
- C# Asp.net使用FormData对象实现ajax提交表单及上传图片
- Asp.net中FileUpload控件实现图片上传并带预览显示
- 基于ASP.NET+EasyUI框架实现图片上传提交表单功能(js提交图片)
- asp.net 使用FileUpload控件上传并显示图片
- 14-ASP.NET 使用FileUpload控件上传图片并自动生成缩略图
- ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传
- asp.net使用ckeditor与ckfinder的集成,有上传图片功能
- ASP.NET MVC应用程序实现下载功能和显示上传的图片