配置文件配置:
<httpRuntime maxRequestLength="20480" executionTimeout="300" />
前台:
<div class="col-md-6">
<div class="col-md-4">
<label>上传照片:</label>
</div>
<div class="col-md-8">
<asp:FileUpload ID="FileUpload1" runat="server" Style="float: left; width: 200px" />
<asp:Button ID="Button1" runat="server" Text="上传" Width="54px" OnClick="Button1_Click" Style="float: right" />
<asp:Image runat="server" ID="Image1" Style="z-index: 102; left: 15px; position: absolute; top: 27px;"
Width="73px" />
<asp:Label ID="Label1" runat="server" Text="" Style="color: Red;float: left;margin-left: 75px;" ></asp:Label>
</div>
</div>
后台:
1、上传保存图片,保存图片信息的表:Attachment,字段在下面代码中
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName == "")
{
this.Label1.Text = "上传文件不能为空";
return;
}
bool fileIsValid = false;
//如果确认了上传文件,则判断文件类型是否符合要求
if (this.FileUpload1.HasFile)
{
//获取上传文件的后缀
String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
//判断文件类型是否符合要求
//for (int i = 0; i < restrictExtension.Length; i++)
//{
if (restrictExtension.Contains(fileExtension))
{
fileIsValid = true;
}
//如果文件类型符合要求,调用SaveAs方法实现上传,并显示相关信息
if (fileIsValid == true)
{
//上传文件是否大于10M
if (FileUpload1.PostedFile.ContentLength > (10 * 1024 * 1024))
{
this.Label1.Text = "上传文件过大";
return;
}
try
{
//生成的文件放在那个目录下面
this.Image1.ImageUrl = "~/File/" + FileUpload1.FileName;
this.FileUpload1.SaveAs(Server.MapPath("~/File/") + FileUpload1.FileName);
//数据库保存图片名称,路径,格式等信息(图片本身保存在服务器本地)
MeetRegEntities ef = new MeetRegEntities();
var db = ef.Attachment.FirstOrDefault(a => a.FormID == hidloginid.Value);
if (db != null)
{
ef.Attachment.Remove(db);
}
Attachment file = new Attachment();
file.FormID = hidloginid.Value;
file.FileName = FileUpload1.FileName;
file.FilePath = "~/File/" + FileUpload1.FileName;
file.FileExt = fileExtension;
file.UploadTime = DateTime.Now;
ef.Attachment.Add(file);
ef.SaveChanges();
this.Label1.Text = "文件上传成功!";
}
catch (Exception i)
{
this.Label1.Text = "文件上传失败!";
}
finally
{
}
}
else
{
this.Label1.Text = "只能够上传后缀为.gif,.jpg,.bmp,.png的文件";
}
// }
}
}
2、显示,加载图片,从表Attachment中查询图片信息,直接赋值图片路径即可
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MeetRegEntities ef = new MeetRegEntities();
var file = ef.Attachment.FirstOrDefault(a => a.FormID == hidloginid.Value);
if(file!=null)
{
Image1.ImageUrl = file.FilePath;
}
}
}