【问题标题】:how to copy an image and save it in a new folder in electron如何复制图像并将其保存在电子的新文件夹中
【发布时间】:2021-09-06 06:36:34
【问题描述】:

我正在尝试制作一个图像管理器应用程序,它使用标签搜索图像,

所以我希望用户选择他们想要的图像,到目前为止我已经通过以下代码做到了这一点

// renderer process

$("#uploadImage).on("click", (e) => {
    ipcRenderer.send('dialoguploadImage')
});

这是主要流程

ipcMain.on('dialoguploadImage', (e) => {
    dialog.showOpenDialog({
        properties: ['openFile']
      }).then(result => {
        sendBackimagePathFromMain(result.filePaths[0])
      }).
      catch(err => {
        console.log(err)
      })
});
function sendBackimagePathFromMain(result) {
    mainWindow.webContents.send('imagePathFromMain',result)
}

所以我有图像路径,我唯一想知道的是 如何复制此图像,重命名它,创建一个新文件夹并将图像保存在该文件夹中 比如这个文件夹

('./currentDirectory/imageBackup/dognothapppy.jpg')

【问题讨论】:

    标签: javascript node.js electron electron-builder


    【解决方案1】:

    您可以使用fs.mkdirSync() 来创建文件夹,并使用fs.copyFileSync() 来“复制和重命名”文件(在文件系统中,您不需要在两个不同的步骤中复制和重命名文件,您都可以一次,即复制文件),或者它们的异步函数。

    const { mkdirSync, copyFileSync } = require('fs')
    const { join } = require('path')
    
    const folderToCreate = 'folder'
    const fileToCopy = 'selectedFile.txt'
    const newFileName = 'newFile.txt'
    const dest = join(folderToCreate, newFileName)
    
    mkdirSync(folderToCreate)
    copyFileSync(fileToCopy, dest)
    

    【讨论】:

    • 如果文件夹已经存在怎么办?我应该使用 if 语句来检查它是否存在??
    • 您可以使用@appgeist/ensure-dirfs-extra。或者您可以在创建文件夹时处理并忽略EEXIST 错误。
    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多