读书人

图片上传至服务器解决方案

发布时间: 2013-06-19 10:26:41 作者: rapoo

图片上传至服务器
图片上传到服务器都需要用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 = false;


}
//最后的结果
if (fileOk)
{
try
{
file1.PostedFile.SaveAs(path + file1.FileName);
lable1.Text = "上传成功";
}
catch
{

lable1.Text = "上传失败";
}
}
else
{
lable1.Text = "文件类型或者文件大小超出8M或者文件类型不对";

}
}

[解决办法]

http://www.cnblogs.com/qiantuwuliang/archive/2009/08/21/1551200.html

读书人网 >asp.net

热点推荐