【问题标题】:specifying path of an image file in mvc在 mvc 中指定图像文件的路径
【发布时间】:2015-05-20 09:58:45
【问题描述】:

我正在使用 C#、Razor、HTML、Jquery 和 CSS 在 Visual Studion 中开发一个 MVC 项目。问题在于我们必须根据用户输入的选择生成一个库 XML 文件。其中一种选择是用于选择图像/图标。 我只想做一件简单的事-

  1. 用户在他的计算机上选择了一个他想用作图标的文件。
  2. 文件位置存储在 xml 中
  3. 在取消实现 library.xml 文件时,会读取文件位置并将图像文件复制到项目文件夹中。

问题-

  1. 在执行所有这些操作时,我感到很困惑,因为当前 localhost 充当服务器,因此从客户端和服务器上传文件没有区别。
  2. 如果必须从客户端计算机指定文件,则意味着将其上传到服务器上的某个位置。但这有一些安全隐患。

谁能建议我解决这些问题的方法。我对这一切都很陌生,没有找到从这个角度看待问题的问题。将非常感谢任何帮助。 提前致谢!

【问题讨论】:

    标签: jquery xml html visual-studio model-view-controller


    【解决方案1】:
    var fileName = Path.GetFileName(file.FileName);
                     var path = Path.Combine(Server.MapPath("~/Upload"), fileName);
                     file.SaveAs(path);
    

    Upload 是应用程序中将存储您的图像的文件夹名称。

    【讨论】:

    • 我必须使用 jquery 和 html5 在 mvc 的视图部分编写代码,所以我有一个 type="file" 的 元素。你能建议我在视图部分做些什么吗
    • 因为我已经在 html5 和 jquery 中编写了用于库生成的完整代码,所以您建议的内容无疑可以在“控制器”部分工作,但我不知道如何在两者之间来回传递控制“控制器”和“视图”。
    【解决方案2】:
    Add this in view file and add the first code in controller
    
    
    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div>
        <b><u>File Upload in MVC3 By Using Razor</u></b>
            Select Image
            <input type="file" name="file" />&nbsp;&nbsp;&nbsp;
            <input type="submit" value="Upload Image" name="Command" /><br />
        </div>
        <div>
        @ViewBag.Message
        </div>
    }
    

    【讨论】:

    • 上传完成后,控件是否会回到查看页面并从上次离开的地方继续表单?因为在我的代码中,用户选择的表单字段被拾取并输入到字符串变量中,该变量在单击按钮时保存在计算机上。这两件事不会干扰吗?
    • 是在controller write的action方法中,Return("ViewName");在最后。 ViewName 将是包含您的视图代码的视图的名称。这会将控件重定向回视图端。
    • 你确定是 Return("ViewName"); ?
    • 我用 return RedirectToAction("ViewName","ControllerName");另外,在这个函数上应用了断点,发现点击按钮时,action方法没有被执行。
    【解决方案3】:
    猜你喜欢
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    相关资源
    最近更新 更多