asp.net mvc view 图片不显示

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

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

这是view的代码。

这是controller的代码。。在线等。。。。求回复。。。
...全文
1283 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)
An outstanding author team presents the ultimate Wrox guide to ASP.NET MVC 4 Microsoft insiders join giants of the software development community to offer this in-depth guide to ASP.NET MVC, an essential web development technology. Experienced .NET and ASP.NET developers will find all the important information they need to build dynamic, data-driven websites with ASP.NET and the newest release of Microsoft's Model-View-Controller technology. Featuring step-by-step guidance and lots of code samples, this guide gets you started and moves all the way to advanced topics, using plenty of examples. Designed to give experienced .NET and ASP.NET programmers everything needed to work with the newest version of MVC technology Expert author team includes Microsoft ASP.NET MVC insiders as well as leaders of the programming community Covers controllers, views, models, forms and HTML helpers, data annotation and validation, membership, authorization, security, and routing Includes essential topics such as Ajax and jQuery, NuGet, dependency injection, unit testing, extending MVC, and Razor Includes additional real-world coverage requested by readers of the previous edition as well as a new case study example chapter 下面是上一版书的中文介绍 《ASP.NET MVC 3 高级编程》主要内容是描述视图的概念,探讨Razor语法、NuGet、单元测试等,解释控制器在MVC框架中的作用,以及模型在绑定和数据访问策略中发挥的作用,演示如何显示和处理表单,涵盖添加到April 2011 Tools Update中的新特性,如基架和HTML5项目模板,展示在客户端和服务器端验证模型的过程给出利用成员资格、援权和安全特性的忠告,讲解将TDD应用于ASP.NET MVC的方法。

62,243

社区成员

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

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

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

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