【问题标题】:Send path route via ajax call (using fleupload jquery plugin)通过ajax调用发送路径路由(使用fleupload jquery插件)
【发布时间】:2013-07-12 17:19:22
【问题描述】:

我想要完成的是以下内容。我希望能够通过 Ajax 将文件路径(例如“~/MyFolder/MySubFolder”)发送到 MVC 4 控制器。我面临的问题是,我正在使用 fileupload jquery 插件,这不能让我直接控制我发送到服务器的内容(意思是,它发送带有几个属性的文件,但我不能添加额外的属性)。

我试图将路径作为 html 属性发送到 ajax 调用:

url: "/api/upload" + path

但由于显而易见的原因,这不起作用。任何帮助,将不胜感激! 谢谢

【问题讨论】:

    标签: jquery asp.net-mvc jquery-file-upload


    【解决方案1】:

    如果我是对的,你正在使用这个插件BluImp

    1: https://github.com/blueimp/jQuery-File-Upload 支持文件上传和发送附加数据,在此尝试中可用,如下所示:

    <form id="fileupload" action="server/php/" method="POST" enctype="multipart/form-data">
        <input type="hidden" name="example1" value="test">
        <div class="row">
            <label>Example: <input type="text" name="example2"></label>
        </div>
        <!-- ... -->
    </form>
    

    默认情况下,插件会在上传表单上调用 jQuery 的 serializeArray 方法来收集所有输入字段(包括隐藏字段)的额外表单数据。 这些表单字段的值将与选定的文件一起发送到服务器。

    注意: 如果设置 formData 选项,这些字段将不会发送到服务器,因为 formData 对象将覆盖它们。 但是,您可以使用 jQuery 的 serializeArray 方法手动创建表单字段的 formData 对象:

    欲了解更多信息:Plugin wiki

    【讨论】:

    • 这是一个很好的开始方式。所以,我添加了一个 data.formData = {filepath: path};到插件的提交选项。我将如何访问该服务器端? (因为它不是文件本身的一部分)感谢您的帮助
    • 尝试获取 $filepath = $_POST['filepath'];如果你在 PHP。
    • 我实际上在使用 MVC 4...我真的对 PHP 一无所知:/
    • 使用类似字符串路径 = HttpContext.Current.Request.Form["MyVariable"];完美运行!感谢您的所有帮助:)
    猜你喜欢
    • 2012-05-29
    • 2017-12-05
    • 2023-03-05
    • 1970-01-01
    • 2014-10-24
    • 2018-11-23
    • 2015-02-07
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多