Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Meteor 流星文件上传不工作_Meteor_Upload - Fatal编程技术网

Meteor 流星文件上传不工作

Meteor 流星文件上传不工作,meteor,upload,Meteor,Upload,我已经将包cfs:standard包和cfs:filesystem添加到我的meteor项目中。 我想使用带有此输入的表单上传我博客的特色图片 <div class="form-group"> <label for="featuredImage">Featured Image</label> <input type="file" id="fImage" required> <p class="h

我已经将包cfs:standard包和cfs:filesystem添加到我的meteor项目中。 我想使用带有此输入的表单上传我博客的特色图片

<div class="form-group">
        <label for="featuredImage">Featured Image</label>
        <input type="file" id="fImage" required>
        <p class="help-block">Please choose an image file.</p>
</div>
服务器上的“UploadFeatureDiImage”方法为

Meteor.methods({

    'uploadFeaturedImage': function(fileObj){
        Uploads.insert(fileObj, function(err){
            console.log(err);
        });   
    }
});
当我选择要上载的图像文件时,出现以下错误- “调用“uploadFeaturedImage”方法时出现异常错误:DataMan构造函数接收到它不支持的数据”


有人知道为什么会这样吗?多谢各位

我从collectionFS文档中复制了一些解释,因为这里的描述非常好

当需要插入位于客户端上的文件时,请始终在客户端上调用myFSCollection.insert。虽然您可以定义自己的方法,将fsFile传递给它,并在服务器上调用myFSCollection.insert,但困难在于将数据从客户端获取到服务器。将fsFile传递给方法时,只发送文件信息,而不发送数据。相反,当您直接在客户机上执行插入时,它会在插入后自动将文件的数据分块,然后将其排队,以便逐块发送到服务器。然后是在服务器上重新组合所有这些块并将数据填充回fsFile的问题。因此,执行客户端插入实际上可以节省所有这些复杂的工作,这就是我们推荐它的原因

看看


因此,您的方法不起作用,因为没有数据发送到服务器。

非常感谢!这很有效。祝您度过愉快的一天先生:)在客户端调用Images.insert时,您如何确定上载何时准备就绪。即使fileObj.url()未定义,它也会立即启动回调?
Meteor.methods({

    'uploadFeaturedImage': function(fileObj){
        Uploads.insert(fileObj, function(err){
            console.log(err);
        });   
    }
});