Javascript 使用meteor应用程序上的用户ID重命名dropzone.js上的文件
我有一个带有插件的meteor应用程序。我想用当前用户的ID和文件名保存dropzone中的图像。但是我不知道如何在文件名前面添加用户ID。我可以使用重命名文件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
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”。谢谢你的帮助!