MeteorJS:将数据从用户选择的 json 文件导入到 MongoDb
MeteorJS: Import data to MongoDb from an json file selected by the user
我有一个 meteorjs 应用程序并为用户创建了将他在此应用程序中创建的所有数据导出到他下载的 json 文件的功能。
现在我不想实现该功能,以便他可以导入此数据(例如,在不同的帐户中)。我找不到以下任何可用的来源:
- MeteorJS 中 select 处理文件的一般方法。可以在客户端完成吗?或者更确切地说,将文件内容发送到服务器并在那里进行处理?或者将文件上传到服务器,让服务器接收并处理?
- 如何让用户有可能 select 本地文件?
将文件上传到服务器,让服务器接受并处理是最相关的。
要让用户上传文件,您只需在 html 中输入:
<input type="file"/>
关于 Google 有很多想法,我让你搜索与你的案例最相关的(有或没有包裹......?)。
没有任何包裹:
Template.myForm.events({
'submit form': function(e, template) {
e.preventDefault();
var file = template.find('input type=["file"]').files[0];
var reader = new FileReader(); // HTML5
reader.onload = function(e) {
Meteor.call("serverSideProcessing", e.target.result, callback);
}
reader.readAsDataURL(file);
}
另一个例子:https://doctorllama.wordpress.com/2014/11/06/meteor-upload-package-with-jquery-file-upload/
我有一个 meteorjs 应用程序并为用户创建了将他在此应用程序中创建的所有数据导出到他下载的 json 文件的功能。
现在我不想实现该功能,以便他可以导入此数据(例如,在不同的帐户中)。我找不到以下任何可用的来源:
- MeteorJS 中 select 处理文件的一般方法。可以在客户端完成吗?或者更确切地说,将文件内容发送到服务器并在那里进行处理?或者将文件上传到服务器,让服务器接收并处理?
- 如何让用户有可能 select 本地文件?
将文件上传到服务器,让服务器接受并处理是最相关的。
要让用户上传文件,您只需在 html 中输入:
<input type="file"/>
关于 Google 有很多想法,我让你搜索与你的案例最相关的(有或没有包裹......?)。
没有任何包裹:
Template.myForm.events({
'submit form': function(e, template) {
e.preventDefault();
var file = template.find('input type=["file"]').files[0];
var reader = new FileReader(); // HTML5
reader.onload = function(e) {
Meteor.call("serverSideProcessing", e.target.result, callback);
}
reader.readAsDataURL(file);
}
另一个例子:https://doctorllama.wordpress.com/2014/11/06/meteor-upload-package-with-jquery-file-upload/