当 URL 不包含文件扩展名时,我们如何下载图像并使用文件扩展名上传该图像

How can we download an image,when its URL not contains the file extension and upload that image with the file extension

我正在使用 protractor.I 必须下载一些 no.of 图片并将其上传到相应的位置,每张图片都是 different.I 为此使用了以下代码

            const download = require('image-downloader');
                 options = {
                       url: 'https://dbamedia.blob.core.windows.net/files/34f6fbc070754541a8828bb78c6a1e87',                     
                       dest: './files'        
                   }            
                   download.image(options).then(({ filename, image }) => {
                     console.log('File saved to', filename)
                   }).catch((err) => {
                   console.error(err)
                   });

当我检查目标文件夹时,我可以通过此 code.but 下载图像,文件名没有扩展名 (.jpg,.png)。所以当我尝试上传这些时文件,我收到一个错误 'file is not supporting'。如果它是用文件扩展名下载的,我可以上传它 successfully.How 我可以提前解决 this.Thanks 吗?

要用其他名称保存文件,您需要在 dest 属性:

中添加文件名
const download = require('image-downloader');
options = {
  url: 'https://dbamedia.blob.core.windows.net/files/34f6fbc070754541a8828bb78c6a1e87',                     
  dest: './files/image.jpg'  // Save file as image.jpg in the ./files      
}   

download.image(options).then(({ filename, image }) => {
  console.log('File saved to', filename)
}).catch((err) => {
  console.error(err)
});

当你能够下载图像时,为什么不先读取下载的文件扩展名,然后将其附加到文件名中,而不是@Yevhen 回答中的硬编码 .jpg。

要阅读下载的文件扩展名,您可以参考这个 SO 问题 How can I get file extensions with JavaScript?