asp.net mvc view 图片不显示

jessie9233 2014-04-25 03:33:41
创建商品后将图片的路径保存到了数据库中,但是view里面要显示的时候显示不出来,求大侠帮忙。。

这是数据库。。已经保存了图片路径下面4行是保存进去的,上面的是开始初始数据库的时候手动输入的,上面的就可以显示,下面的就不能显示,这是为什么啊?

这是view的代码。

这是controller的代码。。在线等。。。。求回复。。。
...全文
1279 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
bidisty 2014-04-27
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
这个如果能显示的话我叫你大师了
一些情况下也是可以的,把物理地址解析为虚拟地址也是可以的,不多说方法的,你懂的。
黑子大哥 2014-04-26
  • 打赏
  • 举报
回复
引用 楼主 u012335091 的回复:
创建商品后将图片的路径保存到了数据库中,但是view里面要显示的时候显示不出来,求大侠帮忙。。 这是数据库。。已经保存了图片路径下面4行是保存进去的,上面的是开始初始数据库的时候手动输入的,上面的就可以显示,下面的就不能显示,这是为什么啊? 这是view的代码。 这是controller的代码。。在线等。。。。求回复。。。
product.ProductURL=Server.MapPath("~\\Content\\Images\\")+ViewBag.FileName; 修改成product.ProductURL="/Content/Images/"+ViewBag.FileName; 结果应该就对了
yancongmin 2014-04-26
  • 打赏
  • 举报
回复
你到网上找个上传图片的插件,里面都有上传的DEMO,你好好看看,还有路径,你自己添加的那是什么啊,那是本地路径
Banianer 2014-04-25
  • 打赏
  • 举报
回复
图片路径不对 你先手动在浏览器输入路径,如果能显示图片了,说明你知道路径了。
请试着打出你上传后的图片访问路径。
小子哟 2014-04-25
  • 打赏
  • 举报
回复
取图片相对路径
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 17 楼 u012335091 的回复:
[quote=引用 16 楼 caozhy 的回复:] 搞清楚了大概,遇到问题再帮你。你现在啥也没做。
我真的已经看了好久了。。。上传图片的逻辑不是这个吗?那个Upload就是啊。。。为什么说我没有上传图片的逻辑呢?[/quote]
   [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create(Product product)
        {
            if (ModelState.IsValid)
            {
                var account = storeDB.Accounts.Where(p => p.Email == User.Identity.Name).FirstOrDefault();
                product.Account = account;            
                storeDB.Products.Add(product);             
                upLoadImg();
                product.ProductURL = savepath;
                storeDB.SaveChanges();
     
                return RedirectToAction("Index");
            }

            ViewBag.ProductCategoryId = new SelectList(storeDB.ProductCategories, "ProductCategoryId", "Name", product.ProductCategoryId);
            return View(product);
        }
    public bool ValidateImg(string imgName)
        {
            string[] imgType = new string[] { "gif", "jpg", "png", "bmp" };

            int i = 0;
            bool blean = false;
            string message = string.Empty;

            //判断是否为Image类型文件
            while (i < imgType.Length)
            {
                if (imgName.Equals(imgType[i].ToString()))
                {
                    blean = true;
                    break;
                }
                else if (i == (imgType.Length - 1))
                {
                    break;
                }
                else
                {
                    i++;
                }
            }
            return blean;
        }
    public string upLoadImg(string fileName)
    {
        //上传和返回(保存到数据库中)的路径
        string uppath = string.Empty;
        string savepath = string.Empty;
        if (Request.Files.Count > 0)
        {
            HttpPostedFileBase imgFile = Request.Files[fileName];
            if (imgFile != null)
            {
                //创建图片新的名称
                string nameImg = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                //获得上传图片的路径
                string strPath = imgFile.FileName;
                //获得上传图片的类型(后缀名)
                string type = strPath.Substring(strPath.LastIndexOf(".") + 1).ToLower();
                if (ValidateImg(type))
                {
                    //拼写数据库保存的相对路径字符串
                    savepath = "..\\UpImgs\\";
                    savepath += nameImg + "." + type;
                    //拼写上传图片的路径
                    uppath = Server.MapPath("~/UpImgs/");
                    uppath += nameImg + "." + type;
                    //上传图片
                    imgFile.SaveAs(uppath);
                }
                return savepath;
            }
        }
        return "";
    }
这是我刚刚重新找的。。。可是我能不知道怎么在create里面调用uploadimg(),,求教。。。
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 13 楼 liuchaolin 的回复:
一般我们保存图片是这样的 string path="/upload/"+ 文件名; file.Saveas(Server.MapPath(path))//文件是这么保存到服务器 "Insert into table(path)value('"+ path +"')" //保存到数据库的时候还是用path ,不用转
"Insert into table(path)value('"+ path +"')" //保存到数据库的时候还是用path ,不用转 这一句是什么意思啊?能把具体代码贴上来吗?。。。
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 16 楼 caozhy 的回复:
搞清楚了大概,遇到问题再帮你。你现在啥也没做。


我真的已经看了好久了。。。上传图片的逻辑不是这个吗?那个Upload就是啊。。。为什么说我没有上传图片的逻辑呢?
threenewbee 2014-04-25
  • 打赏
  • 举报
回复
搞清楚了大概,遇到问题再帮你。你现在啥也没做。
threenewbee 2014-04-25
  • 打赏
  • 举报
回复
先google下如何上传图片,asp.net mvc。
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 11 楼 caozhy 的回复:
就好比你光捡来个机箱,你问我怎么把它“修”成一台电脑,你让我怎么说。
.....我只是想实现这个保存图片路径并显示出来的功能,然后上网找了一些代码,现在图片是可以保存在项目下了,其实我不太明白具体应该怎么实现。。能不能具体告诉我呢?谢谢了啊。。
md5e 2014-04-25
  • 打赏
  • 举报
回复
一般我们保存图片是这样的 string path="/upload/"+ 文件名; file.Saveas(Server.MapPath(path))//文件是这么保存到服务器 "Insert into table(path)value('"+ path +"')" //保存到数据库的时候还是用path ,不用转
threenewbee 2014-04-25
  • 打赏
  • 举报
回复
就好比你光捡来个机箱,你问我怎么把它“修”成一台电脑,你让我怎么说。
「已注销」 2014-04-25
  • 打赏
  • 举报
回复
数据库中上面的数据是先对路径,读取的时候只要先对文件夹有就肯定能读到, 下面几条数据C开头的,你存的是图片的绝对路径,这在项目中很容易出错,且操作不灵活。 一般是将图片上传到服务器,保存图片在服务器上。保存图片的相对路径到数据库。这样就页面就能读到图片了
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
这个如果能显示的话我叫你大师了
。。。那怎么才能将图片保存成上面那种路径啊?我不懂啊。。
threenewbee 2014-04-25
  • 打赏
  • 举报
回复
“修改”不了,你根本就没有上传图片的逻辑。我已经告诉你思路了。
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
将图片上传到服务器,服务器端保存图片,并且记录下相对路径
那我应该再做那些修改呢?求大侠指点迷津。。。拜托你了
md5e 2014-04-25
  • 打赏
  • 举报
回复



这个如果能显示的话我叫你大师了
jessie9233 2014-04-25
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
你要是不能理解为什么不行,那你基本白学了。
....我其实基本自学的。。刚开始。。求教。。怎么样才能显示图片啊。。
加载更多回复(4)

62,236

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧