Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用meteor应用程序上的用户ID重命名dropzone.js上的文件_Javascript_Meteor_Dropzone.js - Fatal编程技术网

Javascript 使用meteor应用程序上的用户ID重命名dropzone.js上的文件

Javascript 使用meteor应用程序上的用户ID重命名dropzone.js上的文件,javascript,meteor,dropzone.js,Javascript,Meteor,Dropzone.js,我有一个带有插件的meteor应用程序。我想用当前用户的ID和文件名保存dropzone中的图像。但是我不知道如何在文件名前面添加用户ID。我可以使用重命名文件 getFileName: function(file, formData) { return 'some text' + file.name; } 我的服务器文件是: Meteor.startup(function () { UploadServer.init({ tmpDir: pro

我有一个带有插件的meteor应用程序。我想用当前用户的ID和文件名保存dropzone中的图像。但是我不知道如何在文件名前面添加用户ID。我可以使用重命名文件

    getFileName: function(file, formData) {
        return 'some text' + file.name;
    }
我的服务器文件是:

Meteor.startup(function () {
    UploadServer.init({
    tmpDir: process.env.PWD + '/public/uploads',
    uploadDir: process.env.PWD + '/public/uploads',
    checkCreateDirectories: true,
    uploadUrl: '/upload',
    // *** For renaming files on server
    getFileName: function(file, formData) {
        return file.fileName + file.name;
    }
  });
});
但是,如果我尝试使用Meteor.userId()或this.userId获取用户ID,这将不起作用,因为我在服务器端文件中。
那么,您知道如何在服务器端文件上传递用户ID吗?

将meteor对象导入到需要用户ID的文件中,然后使用meteor.userId()。永远不要从客户端传递用户ID

import { Meteor } from 'meteor/meteor';

Meteor.startup(function () {
  UploadServer.init({
    tmpDir: process.env.PWD + '/public/uploads',
    uploadDir: process.env.PWD + '/public/uploads',
    checkCreateDirectories: true,
    uploadUrl: '/upload',

    // *** For renaming files on server
    getFileName: function(file, formData) {
        return Meteor.userId() + file.fileName;
    }
  });
});

服务器端的“我的文件”中的导入不起作用。如果不起作用,则您还有其他问题。您使用的是Meteor的哪个版本?我使用的是Meteor的1.4.2.7版本。因此,通过在客户端
Meteor.publish上创建发布,我成功地在服务器文件上传递了用户ID(null,function(){CurrentUserId=this.userId;})并在服务器文件上使用“currentUserId”。谢谢你的帮助!