gpt4 book ai didi

node.js - 在服务器上创建 zip 并使用 NODE JS 发送给用户

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:41 24 4
gpt4 key购买 nike

我使用第三方 API,它为我提供了多个图像。

1) 首先我需要在服务器上下载这些图像并将所有图像制作为 ZIP。(第三方 API 提供图像 URL)

2)成功创建 Zip 后,用户将在其本地系统上下载该 ZIP。

我需要使用nodejs或其NPM库来执行此任务

请给我一些更好的方法来执行此操作

最佳答案

import cmd from 'node-command-line'
import zipFolder from 'zip-folder'
import Download from 'image-downloader'

首先创建一个目录或文件夹以将其转换为 zip

const zipName = `zipFolderName`
//Folder name which become zip
cmd.run(`mkdir -p ${__dirname}/../public/`)
//Create public direactory in server(backend)
cmd.run(`chmod -R 777 ${__dirname}/../public/`)
//Give persmission on public folder
cmd.run(`mkdir -p ${__dirname}/../public/${zipName}/`)
cmd.run(`mkdir -p ${__dirname}/../public/${zipName}/${zipName}/`)

使用 url 下载所有图像或文件并存储

const promiseArr = []
const url = decodeURI('path_of_url') //Decode url
const fileName = url.replace(/.*\//g, '') //extract filename from url
const options = {
url: urls[i],
dest: `${__dirname}/../public/${zipName}/${zipName}/${fileName}`
//Path of your zip file
}
Download.image(options)
.then((filename) => {
promiseArr.push(filename) //If we want to return promise
})

sjkhderhkjwe

  zipFolder(`${__dirname}/../public/${zipName}/`, //path of folder
`${__dirname}/../public/${zipName}.zip`, //where zip made
async (err) => {
if (err) {
thorw new Error(err)
} else {

const urls = `${__dirname}/../public/${zipName}.zip`
//const zipUrl = await uploadZipToAWS(zipName, urls)
// Upload zip or move zip to front End
cmd.run(`rm -rf ${__dirname}/../public/${zipName}/`)
//Remove this zip from server
cmd.run(`rm -rf ${__dirname}/../public/${zipName}.zip`)
//Remove this zip from server
//Return back url
}
})

请注意路径(__dirname)。在服务器端安装模块。并根据您的要求管理代码。

在前端发回zip的url(路径)并在浏览器上访问或使其可下载。

关于node.js - 在服务器上创建 zip 并使用 NODE JS 发送给用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com