Javascript Strapi上传插件:如何在cron作业中上传远程文件

Javascript Strapi上传插件:如何在cron作业中上传远程文件,javascript,node.js,strapi,Javascript,Node.js,Strapi,我正在使用带有s3的strapi上传插件作为提供者。在我的strapi实例(/upload)上点击upload api端点时,它工作得非常好。然而,我在我们的repo中有一个cron任务,它检查s3存储桶中的图像并上传它们。有没有办法使用全局strapi对象调用upload插件,而不必在cron作业中发出http请求?后者似乎有点奇怪,因为cron作业与strapi运行在同一台服务器上 在我的config/functions/cron.js文件中,我当前有: const-imageBuffer=

我正在使用带有s3的strapi上传插件作为提供者。在我的strapi实例(/upload)上点击upload api端点时,它工作得非常好。然而,我在我们的repo中有一个cron任务,它检查s3存储桶中的图像并上传它们。有没有办法使用全局strapi对象调用upload插件,而不必在cron作业中发出http请求?后者似乎有点奇怪,因为cron作业与strapi运行在同一台服务器上

在我的config/functions/cron.js文件中,我当前有:

const-imageBuffer=wait-fetch(imageURL).then((response)=>response.buffer());
const formData=new formData();
append('files',imageBuffer,{filename:imageURL.split('/').pop()});
const uploadResult=等待获取('xxxxx/upload'{
方法:“POST”,
正文:formData
})。然后((response)=>response.json());
我更喜欢做一些简单的事情,比如:

const-imageBuffer=wait-fetch(imageURL).then((response)=>response.buffer());
等待strapi.plugins.upload(imageBuffer)
我一直在尝试对插件在其内部的功能进行反向工程,但这似乎也不理想


任何来自Strapi专家的帮助都将不胜感激

我找到了解决方案,它是:

  return strapi.plugins['upload'].services.upload.upload(
    { data: {fileInfo: {}}, files: {
      path: path.resolve("public/uploads" + filename), // Put your file path
      name: "asd.png",
      type: 'image/png'
    }}
  )