欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node使用require?mkdirp創(chuàng)建文件夾示例

 更新時(shí)間:2023年08月14日 14:00:48   作者:羊先生  
這篇文章主要為大家介紹了node使用require?mkdirp創(chuàng)建文件夾示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

mkdirp

npm i mkdirp -S // 1.0.4

 今天在寫上傳文件時(shí)候,查看同步創(chuàng)建文件如是使用了mkdirp包,不過發(fā)現(xiàn)網(wǎng)絡(luò)有大部分錯(cuò)誤用法,原因是mkdirp的版本升級(jí)了更改了用法

網(wǎng)絡(luò)錯(cuò)誤用法

const mkdirp = require('mkdirp');
await mkdirp(dir) //錯(cuò)誤用法一
const mkdirp = require('mkdirp');
//錯(cuò)誤用法二
mkdirp('./tmp/foo/bar/baz', function (err) {
  console.log(err); 
});

正確寫法

const mkdirp = require('mkdirp')
// 返回值是一個(gè)Promise,解析為創(chuàng)建的一個(gè)目錄  
mkdirp('/tmp/foo/bar/baz').then(made =>
  console.log(made)
)
const mkdirp = require('mkdirp')
// 返回目錄 同步寫法
const made = mkdirp.sync('/tmp/foo/bar/baz')
console.log(made)

使用實(shí)例

// 上傳圖片
async uploadImg() {
        const { ctx } = this
        const parts = ctx.multipart({ autoFields: true })
        const urls = []
        const dir = path.join(this.config.baseDir, 'app/public/upload/image/', dayjs().format('YYYY-MM-DD'))
        await mkdirp.sync(dir)
        let stream
        while ((stream = await parts()) != null) {
            const fileType = stream.mimeType.split('/')[1]
            const filename = dayjs().valueOf() + '.' + fileType || stream.filename.toLowerCase()
            const target = path.join(dir, filename)
            urls.push(`/public/upload/image/${filename}`)
            const writeStream = await fs.createWriteStream(target)
            await pump(stream, writeStream)
        }
        return urls[0]
    }
// 上傳文件
    async uploadFile() {
        const { ctx } = this
        const urls = []
        const stream = await ctx.getFileStream()
        const dir = path.join(this.config.baseDir, 'app/public/upload/file/', dayjs().format('YYYY-MM-DD'))
        await mkdirp.sync(dir)
        const fileType = stream.filename.toLowerCase().split('.')
        const filename = dayjs().valueOf() + '.' + fileType[fileType.length - 1]
        // 生成寫入路徑
        const target = path.join(dir, filename)
        const writeStream = await fs.createWriteStream(target) // 寫入流
        stream.pipe(writeStream) // 以管道方式寫入流
        await new Promise((resolve, reject) => {
            writeStream.on('finish', () => {
                // 監(jiān)聽寫入完成事件
                urls.push(`/public/upload/file/${filename}`)
                resolve(stream.fields)
            })
            writeStream.on('error', async (err) => {
                await sendToWormhole(stream) // 關(guān)閉管道
                writeStream.destroy() // 銷毀
                reject(err)
            })
        })
        return urls[0]
    }

在線代碼 GitHub代碼

調(diào)用該方法

以上就是node使用require mkdirp創(chuàng)建文件夾示例的詳細(xì)內(nèi)容,更多關(guān)于node require mkdirp創(chuàng)建文件夾的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 簡單了解小程序+node梳理登陸流程

    簡單了解小程序+node梳理登陸流程

    這篇文章主要介紹了簡單了解小程序+node梳理登陸流程,以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • HTTP JSON接口模擬工具Interfake快速入門教程

    HTTP JSON接口模擬工具Interfake快速入門教程

    這篇文章主要為大家介紹了HTTP JSON接口模擬工具Interfake快速入門教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Koa 使用小技巧(小結(jié))

    Koa 使用小技巧(小結(jié))

    這篇文章主要介紹了Koa 使用小技巧(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Electron調(diào)用外接攝像頭并拍照上傳實(shí)現(xiàn)詳解

    Electron調(diào)用外接攝像頭并拍照上傳實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Electron調(diào)用外接攝像頭并拍照上傳實(shí)例實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Electron如何通過ffi-napi調(diào)用dll導(dǎo)出接口

    Electron如何通過ffi-napi調(diào)用dll導(dǎo)出接口

    文章介紹了如何在Electron項(xiàng)目中使用ffi-napi模塊調(diào)用DLL文件,并詳細(xì)描述了環(huán)境搭建、安裝Electron和ffi-napi、配置Visual Studio和Python環(huán)境、解決常見問題等步驟,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • NVM安裝nodejs的方法實(shí)用步驟

    NVM安裝nodejs的方法實(shí)用步驟

    安裝node的方式有很多種,本文主要介紹了NVM安裝nodejs的方法實(shí)用步驟,希望能幫助大家來解決問題,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解Puppeteer 入門教程

    詳解Puppeteer 入門教程

    本篇文章主要介紹了詳解Puppeteer 入門教程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • nodejs+express最簡易的連接數(shù)據(jù)庫的方法

    nodejs+express最簡易的連接數(shù)據(jù)庫的方法

    這篇文章主要介紹了nodejs+express 最簡易的連接數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 利用n 升級(jí)工具升級(jí)Node.js版本及在mac環(huán)境下的坑

    利用n 升級(jí)工具升級(jí)Node.js版本及在mac環(huán)境下的坑

    這篇文章主要介紹了利用n 升級(jí)工具升級(jí)Node.js的方法,以及通過網(wǎng)友的測試發(fā)現(xiàn)在mac環(huán)境下利用n工具升級(jí)不成功導(dǎo)致node.js不可用的解決方法,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • express框架+bootstrap美化ejs模板實(shí)例分析

    express框架+bootstrap美化ejs模板實(shí)例分析

    這篇文章主要介紹了express框架+bootstrap美化ejs模板,結(jié)合實(shí)例形式分析了express框架引入bootstrap結(jié)合ejs模版引擎相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2023-05-05

最新評(píng)論