我一般是用FileUpload这个控件然后加个上传的按钮来完成文件的上传。
protected void B1_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName == "")
{
lblMess.Text = "没有选择上传的文件";
}
else
{
FileUpload1.SaveAs(MapPath("File/"+FileUpload1.FileName));
lbl1.Text ="File/"+FileUpload1.FileName;
if (!string.IsNullOrEmpty(lbl1.Text.Trim()))
{
lbl1.Text = "<a href=\"" + lbl1.Text.Trim() + "\"target=\"_blank\"/>View</a>";
}
}
}
}
这里的B1_Click就是上传按钮的事件,然后FileUpload1就是控件FileUpload的控件ID,然后它的FileName就是上传的文件名。这里的lblMess是一个提示错误的Label控件的ID,lbl1就是一个用来显示图片预览的Label控件,我们这里把它转换为一个a标签的形式,就可以通过点击这个控件来预览文件了。这里面的“File/“是我在项目下自定义的一个文件夹来存放上传文件的。至于target那个属性是设置属性的,比如是否在新的页面打开,我这里表示的就是在新的页面打开。
最后再附带一个吧,就是截取文件名这些。
Path在using System.IO命名空间里。
string filePath = @"C:\FillManage\file.jpg";
string filename = Path.GetFileName(filePath);//返回带扩展名的文件名 "file.jpg"
string extension = Path.GetExtension(filePath);//扩展名 ".jpg"
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filePath);// 没有扩展名的文件名 "file"
string dirPath = Path.GetDirectoryName(filePath) //返回文件所在目录 "c:\FillManage"
string fullPath1 = Path.Combine(@"C:\FillManage","file.jpg") //返回 "c:\FillManage\file.jpg"
但是要注意,上传文件这个只是在本地的,如果是要做项目之后上传到服务器的话,这个就肯定要改的,不然就会发生图片查找不到的问题。这方面我也不是很了解,不过如果有人想详细了解的话,可以留言交流下。谢谢