[转]在asp.Net中使用fileupl…

很多地方都应用到图片上传功能,那么究竟怎样可以实现呢?下面我来给大家进行讲解
visual studio中自带的一个控件fileupload,可以实现此功能,我要给大家介绍的是它的用法。
 
首先要新建一个网页(下面是我创建好的一个网页)
在网页中拖进fileupload控件,后面放一个上传按钮
 
 
这样,当我们点击上传按钮时,图片就会上传到服务器上去
步骤:
1.       先要在根目录下面新建一个文件夹,用来放置上传的图片
2.       顺便拖进一个 lable 控件,以便看清上传的图片的详细地址
3.       再放进一个 image 控件,这样,就可以实现预览功能了(前三步都是准备工作,下面就开始进行主要的操作)
4 .双击上传按钮,进入 aspx Cs 界面,在按钮下要写代码,下面是我写的
protected  void Button1_Click(object sender, EventArgs e)
    {
        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;// 当图片属性为可见时,就要设置图片的链接地址。在这里,一定要写图片的相对路径,因为要显示的是已经传在服务器上的图片
        }
       
}
5 .结果
 
 
 
 
下面我再像大家介绍一些文件上传代码的方法说明:
strNameLastIndexOf(“。”) 获取字符中最后一个。在字符串 strName中的索引顺序号,比如字符串“asFatex”,调用该方法的结果为:5
strNameSubstringi 获取从索引i开始到结束的子字符串;比如字符串为“asFatex”,调用该方法Substring4)得到的字符串为“。tex
GuidNewGuid()  Guid是用于生成唯一标识的类,而NewGuid()可以生成一个36为字符串。并且保证每次生成的字符串不重复。需要注意的是它生成的不是string类型
ServerMapPath(“~\admin\images”) 获取网站文件或文件夹在服务器中完整磁盘路径。对于路径中的字符“”在字符串中必须以“\”表示,因为“”为特殊字符,或者可以使用server.MapPath(@”~adminimages”)
Directory.Exists(absolutePath)  判断路径是否存在,注意使用Directory类必须先引用System.IO命名空间
Directory.Creatory(absolutePath)在磁盘中创建路径

到此结束
期待更精彩的请留言!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值