最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

mkdirp

npm i mkdirp -S // 1.0.4

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

網(wǎng)絡錯誤用法

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

正確寫法

const mkdirp = require('mkdirp')
// 返回值是一個Promise,解析為創(chuàng)建的一個目錄  
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)

使用實例

// 上傳圖片
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) // 關閉管道
                writeStream.destroy() // 銷毀
                reject(err)
            })
        })
        return urls[0]
    }

在線代碼 GitHub代碼

調用該方法

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

相關文章

  • 借助node實戰(zhàn)JSONP跨域實例

    借助node實戰(zhàn)JSONP跨域實例

    本篇文章主要介紹了借助node實戰(zhàn)JSONP跨域實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 深入理解Node.js中的Worker線程

    深入理解Node.js中的Worker線程

    這篇文章主要介紹了深入理解Node.js中的Worker線程,對Worker線程感興趣的同學,一定要看一下
    2021-04-04
  • node.js與vue?cli腳手架的下載安裝配置方法記錄

    node.js與vue?cli腳手架的下載安裝配置方法記錄

    這篇文章主要給大家介紹了關于node.js與vue?cli腳手架的下載安裝配置方法,文中通過實例代碼以及圖文介紹的非常詳細,對大家學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • Node.js中module.exports?和exports使用誤區(qū)

    Node.js中module.exports?和exports使用誤區(qū)

    本文主要介紹了Node.js中module.exports?和exports使用誤區(qū),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Nodejs 模塊化實現(xiàn)示例深入探究

    Nodejs 模塊化實現(xiàn)示例深入探究

    這篇文章主要為大家介紹了Nodejs 模塊化實現(xiàn)示例深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Node.js文件操作詳解

    Node.js文件操作詳解

    這篇文章主要介紹了Node.js文件操作詳解,本文講解了處理文件路徑講的一些方法、fs模塊詳細的使用和介紹等內容,需要的朋友可以參考下
    2014-08-08
  • 使用Node.js在深度學習中做圖片預處理的方法

    使用Node.js在深度學習中做圖片預處理的方法

    這篇文章主要介紹了使用Node.js在深度學習中做圖片預處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Nodejs 和Session 原理及實戰(zhàn)技巧小結

    Nodejs 和Session 原理及實戰(zhàn)技巧小結

    這篇文章主要介紹了Nodejs 和Session 原理及實戰(zhàn)技巧小結,需要的朋友可以參考下
    2017-08-08
  • 淺談node的事件機制

    淺談node的事件機制

    本篇文章主要介紹了node的事件機制,本文通過實現(xiàn)一個簡易的、具有發(fā)布/訂閱模式的事件機制,以此來理清EventEmitter類的實現(xiàn)思路,有興趣的可以了解一下
    2017-10-10
  • 使用 Node.js 模擬滑動拼圖驗證碼操作的示例代碼

    使用 Node.js 模擬滑動拼圖驗證碼操作的示例代碼

    本篇文章主要介紹了使用 Node.js 模擬滑動驗證碼操作的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

灌南县| 滨州市| 浦江县| 哈巴河县| 综艺| 敦化市| 清徐县| 光山县| 石阡县| 宜宾市| 陈巴尔虎旗| 格尔木市| 绵阳市| 鄄城县| 东光县| 清水河县| 萨迦县| 渝中区| 济南市| 于都县| 博湖县| 山阳县| 十堰市| 乌兰浩特市| 乡城县| 鄂托克旗| 长寿区| 且末县| 平邑县| 阳西县| 肇东市| 黄浦区| 绥中县| 东平县| 新巴尔虎左旗| 麦盖提县| 东阳市| 民县| 佳木斯市| 龙门县| 金寨县|