首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2013-06-19 
图片上传至服务器图片上传到服务器都需要用IIS建虚拟目录吗?我做的网站想让网友随意上传图片,我在后台的gr

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

热点排行