图片上传至服务器
图片上传到服务器都需要用IIS建虚拟目录吗?我做的网站想让网友随意上传图片,我在后台的gridview里都能看到图片。现在实现的是图片绝对路径能存到数据库并且能通过后台的gridview显示出来,但是把图片删掉,即使数据库中路径还在图片也显示不出来了,是不是就差上传到服务器这一步了?具体怎么做?
------解决方案--------------------为什么不存到数据库 好维护 且存取速度快
存为2进制
删掉图片就为空
------解决方案--------------------对于物理文件删除,如果存有路径可以一并将数据库中的文件删掉。你也可以把图片单独放到一个服务器上,这样也避免请求负载了。
还有对于数据库中的某些数据,后期可能要进行核对、分析的数据,应该有逻辑删除字段,通过修改标记状态来显示隐藏,以避免不必要的问题
------解决方案--------------------//上传图片
public void imageupload(FileUpload file1, Label lable1)
{
Boolean fileOk = false;
string path = HttpContext.Current.Server.MapPath("~/upload/");
if (file1.HasFile)
{
//取得文件的扩展名,并转换成小写
string fileExtension = System.IO.Path.GetExtension(file1.FileName).ToLower();
//限定只能上传jpg和gif图片
string[] allowExtension = { ".jpg", ".gif", ".bmp" };
//对上传的文件的类型进行一个个匹对
for (int i = 0; i < allowExtension.Length; i++)
{
if (fileExtension == allowExtension[i])
{
fileOk = true;
break;
}
}
//
if (fileOk)
{
lable1.Text = "要上传的文件类型不对!";
}
//对上传文件的大小进行检测,限定文件最大不超过8M
if (file1.PostedFile.ContentLength > 8192000)
{
fileOk = fa