nodejs 遍歷文件夾下所有的圖片改名為中文


 安裝依賴

$ npm init -y && npm i fs-extra globby request -S

 

main.js

const fs      = require('node-fs-extra')
const globby  = require('globby')
const request = require('request')

// 簡單的GET請求獲取翻譯結果
const _request = (text, cb) => {
	request({
	    url: encodeURI(`http://119.23.22.136:6635/baidu_transapi.php?text=${text}&type=tuofeng`),
	}, function (err, response, body) {
		// 如果翻譯異常那么直接中斷
		if (err)
			// 拋出異常吧
			throw new Error(`${err.message} ///////////////// ${text} ///////////////// ${body}`)
		// 必須有內容返回並且請求碼為200才可以回調
		if (body && response.statusCode === 200)
			// 回調
	    	cb && cb(body)
	})
}

// 從字符串中區分出名字和后綴
const get = name => {
	const len = name.lastIndexOf('.')
	return { name: name.substr(0, len), ext: name.substr(len) }
}

// 遍歷當前文件夾下所有的文件
(async () => {
	// 篩選當前文件夾下的文件類型
	const names = await globby(['*.png|*.jpg|*.gif'])
	// 開始遍歷改名
	for (let [index, filename] of names.entries()) {
	    // 獲取文件名和前綴
	    const { name, ext } = get(filename)
	    // 發送請求
	    _request(name, ch => {
	    	// 如果翻譯結果不為空並且不為原本的值
	    	if (ch && ch != name) {
		    	// 那么修改文件名
		    	fs.rename(filename, ch + ext, err => {
		    		// 如果出現異常,那么直接中止
			    	if (err) 
			    		// 拋出異常吧
			    		throw new Error(`${err.message} ///////////////// ${filename} ///////////////// ${ch}`)
			    })
			}
	    })
	}
})()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM