使用发送事件通过编程创建的 Dropzone 发送附加数据

2024-01-24

我有以下(例如简化的)角度指令,它创建一个放置区

directives.directive('dropzone', ['dropZoneFactory', function(dropZoneFactory){
    'use strict';
    return {
        restrict: 'C',
        link : function(scope, element, attrs){

            new Dropzone('#'+attrs.id, {url: attrs.url});

            var myDropZone = Dropzone.forElement('#'+attrs.id);


            myDropZone.on('sending', function(file, xhr, formData){
                //this gets triggered
                console.log('sending');
                formData.userName='bob';
            });
        }
    }
}]);

正如你所看到的sending事件处理程序 我正在尝试将用户名(“bob”)与上传的文件一起发送。但是,我似乎无法在我的路由中间件中检索它,因为req.params作为空数组返回(我也尝试过req.body).

我的节点路线

    {
    path: '/uploads',
    httpMethod: 'POST',
    middleware: [express.bodyParser({ keepExtensions: true, uploadDir: 'uploads'}),function(request,response){
        // comes back as []
        console.log(request.params);

        //this sees the files fine
        console.log(request.files);

        response.end("upload complete");
    }]
}

这是文档上所说的sending event

在发送每个文件之前调用。获取 xhr 对象和 formData 对象作为第二个和第三个参数,以便您可以修改它们(例如添加 CSRF 令牌)或添加其他数据。

EDIT

我暂时放弃了程序化方法。我有两个表单提交到同一端点,一个是仅发布的常规表单,一个是 dropzone 表单。两者都有效,所以我认为这不是端点的问题,而是我如何处理“发送”事件的问题。

//Receives the POST var just fine
form(action="http://127.0.0.1:3000/uploads", method="post", id="mydz")
    input(type="hidden", name="additionaldata", value="1")
    input(type="submit")

//With this one I can get the POST var
form(action="http://127.0.0.1:3000/uploads", method="post", id="mydz2", class="dropzone")
    input(type="hidden", name="additionaldata", value="1")

好的,我实际上已经弄清楚了,谢谢新用户创建后使用 Dropzone.js 上传,发送标头 https://stackoverflow.com/questions/17378500/using-dropzone-js-to-upload-after-new-user-creation-send-headers

The sending event:

        myDropZone.on('sending', function(file, xhr, formData){
            formData.append('userName', 'bob');
        });

相对于formData.userName = 'bob'由于某种原因这不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用发送事件通过编程创建的 Dropzone 发送附加数据 的相关文章

随机推荐

  • 使用Java创建视频播放器

    我需要为我的项目使用 Java 创建一个视频播放器 我已经在网上查过很多例子了 其中一些运行 但不显示任何屏幕 我只能听到视频的声音 请帮我解决这个问题 我正在使用下面的导入 import javax media 编辑 下面是我使用的代码
  • 背景图像 url() 在实时服务器上有效,但当我在浏览器中打开 index.html 时却不起作用?

    由于其他属性适用 因此正确选择了该元素 没有控制台错误 我努力了 img 英雄 jpg 当我点击 VS Code 中的链接时有效 img 英雄 jpg 当我点击时起作用 英雄 jpg 当我点击时工作 img 英雄 jpg 不起作用 完整路径
  • 将动态 Web 项目导入 Eclipse

    我一直在 Eclipse 中开发一个动态 Web 项目 我最近重新安装了我的操作系统 并且使用了干净的 Eclipse 我可以导入我的网络项目 但是当我尝试吃午饭 在服务器上运行 时 我总是收到此消息 The selection canno
  • 倾斜的div边框透明度

    所以 我知道如何使用 after 和边框为现代布局制作倾斜的 div 但是 我想知道您是否可以使用它通过透明度裁剪掉 div 的一部分 例如 假设我有一排带有背景图像的卡片 我想要在这些卡片上产生倾斜效果 但是 这里的倾斜只是页面 不是卡片
  • /rest-auth/password/reset/ 处的 NoReverseMatch

    我有一个带有角度前端的 Django 应用程序 当我尝试从前端发送密码重置请求时 出现以下错误 使用参数 和关键字反转 password reset confirm 参数 u uidb64 MTE u token u 3z4 eadc7ab
  • HTTP 网站上出现“阻止加载混合活动内容”

    Problem 我正在开发一个使用 HTTP 协议提供服务的网站 在开发中 我使用 Webpack 及其 webpack dev server 它在本地提供页面服务http localhost 9090 我很惊讶地在 Firefox 58
  • 如何创建唯一 ID,例如 YouTube?

    我一直想知道他们是如何以及为什么这样做 一个例子 http youtube com watch v DnAMjq0haic http youtube com watch v DnAMjq0haic 这些 ID 是如何生成的 并且不会重复 这
  • ASP.NET Identity 出现“创建模型时无法使用上下文”异常

    为什么当我们调用 AccountApiController Register 方法时会发生这种情况 什么试图使用上下文 什么试图创建上下文 我们如何避免这种情况 我们如何调试这个 Message 发生错误 ExceptionMessage
  • 覆盖命名空间中导入的函数

    As the termplotR 中的函数包含一些奇怪的代码 这些代码给我带来了烦人的错误 我想在我自己的测试代码中覆盖它 直到找到更永久的解决方案 问题是更改的函数没有被加载mgcv包裹 这mgcv包从其命名空间中的 stats 包加载
  • 在 Django Admin 中为 list_filter 创建自定义过滤器

    我想为 django admin 制作自定义过滤器 而不是普通的 is staff 和 is superuser 我读过这个列表过滤器 https docs djangoproject com en dev ref contrib admi
  • 通过 PHP 和 cURL 访问 NodeJS / Socket.io

    我正在运行 nodejs socket io v 0 7 服务器将数据推送到 Web 客户端 这很有用 为了扩展应用程序 我需要通过 php 触发 影响 socket io 我知道一个使用 cURL over http 和 nodejs h
  • 推荐的货币价值四舍五入方法

    首先看到下面的问题 SetRoundMode rmUp 并将 round 值四舍五入 如 10 结果为 10 0001 https stackoverflow com questions 565797 setroundmodermup an
  • 错误:胆怯地拒绝“sudo brew install”为 Mac OSX Mountain Lion 安装glue 0.3

    我正在尝试为 OXS Mountain Lion 安装glue 0 3 并在安装自制软件后遇到此错误 错误 懦弱地拒绝sudo brew install您可以将brew 与sudo 一起使用 但前提是brew 可执行文件由root 拥有 但
  • 玩2.3 多个模块的requireJs优化和shim

    这是我当前的 Play 2 2 x requireJS 设置 2 3之后还能继续用吗 我在 2 3 文档中找不到 requireJs 或 requireJsShim requireJs Seq mainAccount js mainOrg
  • 如何使用递归编程在列表框中填充多个类别

    I have a categories table which is set up to allow an infinite number of sub category levels I would like to mimic the f
  • 在 Windows Phone 上实现可滚动表格

    我需要创建一个电视指南应用程序 要求是 UI 必须是您可以在此处看到的 UI 的副本 raspored bnet hr http raspored bnet hr 正如您所看到的 有很多数据 所以 基本上它是一个大的可滚动表格 由于 Win
  • 将 C++ 模板参数限制为子类

    如何强制模板参数T成为特定类的子类Baseclass 像这样的东西 template
  • Django Ckeditor 图像浏览器找不到图像

    所以我正在建立一个简单的博客来跟踪我的项目 我决定使用 CKeditor 作为所见即所得编辑器 除了图像部分之外 我能够使其所有内容正常工作 当我点击 图像浏览 时 我无法查看服务器中的图像 并且每当我上传图像时 它都会上传 但我无法查看它
  • 颠覆外部是一种反模式吗?

    Subversion 允许您使用以下方式嵌入其他存储库的工作副本外部因素 http svnbook red bean com en 1 1 ch07s04 html 可以轻松地对项目中的第三方库软件进行版本控制 虽然这些对于库的重用和版本控
  • 使用发送事件通过编程创建的 Dropzone 发送附加数据

    我有以下 例如简化的 角度指令 它创建一个放置区 directives directive dropzone dropZoneFactory function dropZoneFactory use strict return restri