我刚开始使用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中的新版本。结果是一样的。 我究竟做错了什么?任何帮助赞赏。感谢
答案 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位编码的图像来解决它。