日期:2014-05-17  浏览次数:20463 次

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