feathers-blob error dauria无法读取属性startsWith

时间:2017-07-12 09:54:03

标签: feathersjs

我刚开始使用feather-blob使用dropzone从angular4客户端上传文件。 我按照这个例子,但为上传提供了明确的服务,而不是模糊了app.js. 它编译没有错误,但在执行时我收到以下错误,即使我不使用多部分:

信息:错误:

  

system / file-upload - 方法:创建:无法读取属性'startsWith'   未定义错误:TypeError:无法读取属性'startsWith'   未定义       在Dauria.parseDataURI(/projects/esaas-2/esaas-server-basic/node_modules/feathers-blob/node_modules/dauria/dauria.js:27:17)       at Object.create(/projects/esaas-2/esaas-server-basic/node_modules/feathers-blob/lib/index.js:87:52)       在/projects/esaas-2/esaas-server-basic/node_modules/feathers-hooks/lib/hooks.js:101:31       在/projects/esaas-2/esaas-server-basic/node_modules/feathers-hooks/lib/hooks.js:85:16

我还确保使用与样本中相同版本的羽毛 - 斑点和dauria和multer,而不是npm中的新版本。结果是一样的。 我究竟做错了什么?任何帮助赞赏。感谢

2 个答案:

答案 0 :(得分:1)

如果您查看dauria的代码,您会看到问题的来源:

Dauria.prototype.parseDataURI = function(dataURI){
 if(!( dataURI.startsWith('data:') )) throw new Error(
   this.errors.MISSING_PREFIX
 );

这意味着您以某种方式传递给来电者dauria.parseDataURI(yourDataVariable)的值 - yourDataVariable'data:'开头。

答案 1 :(得分:0)

我在Node上进行了测试,尝试上传图片时遇到了相同的错误。我通过添加字符串“ data:image / jpeg; base64”以及64位编码的图像来解决它。