我正在创建一个ZAPIER CLI APP,在APP中,我正在创建一个通过其余API上传文件的操作。 我跟随这个示例应用程序Sample APP进行了很小的更改,我只有一个输入字段“ file”,在我的应用程序中没有“ filename”的输入字段。 这是我的代码:-
const uploadFile = (z, bundle) => {
const formData = new FormData();
formData.append('file', request(bundle.inputData.file));
return z.request({
url: 'MY API ENDPOINT',
method: 'POST',
body: formData,
})
.then((response) => {
return response.json;
});
};
但是这对我发送不正确的文件名以休整API无效。这将发送一个长字符串代替文件名。这是我在服务器(API)端获得的东西
这是使用上述代码时收到的示例:-
`[name] => .eJwtj1GOwiAURffCt5QygC0sYrZAXuFpSVuKgGPUdO-DiZ_35Obm3DcJsVSIDm3wxCguuBJan8gl4OpthA2JIR7_7CWsSE7EzegWu-CTGCm0Oqu-sT1WjNXWZ_q0f1tteUC-FmLe5J7XxuZaUzGMvSAFzBQ3CCtNkEsLUCu4eWsLpSuigw1ee4RH6dy-sZ-ea9pzKnrGhRDjqOTIBnS91F5RrQZHJUwT1RMqyrn0TgzgcOKMW96leG0yX6_vg4y3O5ba3I7j-AdX6FEq:1gqcEs:zXfK_evEDwf09Yp4IhuAaqxt464
[type] => application/octet-stream
[tmp_name] => /tmp/php0qvnl0
[error] => 0
[size] => 394106`
我的代码有什么问题吗?
当我通过下面的代码将文件名传递到文件字段时,它是有效,但是您可以看到我通过了 hardcode filename“ unicycle .jpg” ,我想保持动态。
formData.append("file", request(bundle.inputData.file), {filename: 'unicycle.jpg'});
有什么办法吗?
答案 0 :(得分:0)
Zapier Platform团队的David在这里。
Zapier一旦在我们的系统中就看不到文件名,因此,如果要命名文件,则需要用户提供文件名。我建议为const { range } = require("rxjs");
const { map, filter } = require("rxjs/operators");
range(1, 200).pipe(
filter(x => x % 2 === 1),
map(x => x + x)
).subscribe(x => console.log(x));
添加一个输入字段,并将其映射到filename
调用中。