UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

117 lines (114 loc) 3.11 kB
import { b as __awaiter, c as __generator } from '../tslib.es6-096fffdd.js'; /* eslint-disable @typescript-eslint/no-require-imports */ /** * node环境下,保存base64图片到文件 * @param {object} config 输入配置 * @param {string} config.imgUrl base64图片Url * @param {string} config.savePath 保存路径,最好是绝对路径 * @returns {Promise<string>} 去掉前缀的base64图片地址 * * @example * * saveBase64ImgToFile({ * imgUrl: 'xx', * savePath: '/test.png' * }).then((base64Data) => { * console.log(base64Data) * }) * */ function saveBase64ImgToFile(_a) { var imgUrl = _a.imgUrl, savePath = _a.savePath; return new Promise(function (resolve, reject) { var fs = require('fs'); var base64Data = imgUrl.replace(/^data:image\/\w+;base64,/, ''); var dataBuffer = Buffer.from(base64Data, 'base64'); fs.writeFile(savePath, dataBuffer, function (err) { if (err) { reject(err); } else { resolve(base64Data); } }); }); } /** * node环境下,本地图片转为base64 * @param {string} savePath 本地图片保存路径 * @returns {string} base64图片地址 * * @example * * const base64str = turnLocalImg2Base64('/temp.png') * */ function turnLocalImg2Base64(imgPath) { var fs = require('fs'); var bitmap = fs.readFileSync(imgPath); // base64编码 var base64str = Buffer.from(bitmap, 'binary').toString('base64'); return base64str; } /** * node环境下,保存网络图片到本地 * @param {object} config 输入配置 * @param {string} config.imgUrl 网络图片地址 * @param {string} config.savePath 本地图片保存路径,建议绝对路径 * @returns {Promise<object>} 请求Promise * * @example * * saveRemoteImgToLocal({ * imgUrl: 'xx', * savePath: './test.png' * }).then(() => { * * }) */ function saveRemoteImgToLocal(_a) { var imgUrl = _a.imgUrl, savePath = _a.savePath; return __awaiter(this, void 0, void 0, function () { var fs, request; return __generator(this, function (_b) { switch (_b.label) { case 0: fs = require('fs'); request = require('request'); return [4 /*yield*/, request(imgUrl).pipe(fs.createWriteStream(savePath))]; case 1: return [2 /*return*/, _b.sent()]; } }); }); } /** * 获取图片md5 * @param {object} options 配置信息 * @param {string} options.savePath 本地图片地址,建议绝对路径 * @returns {Promise<string>} 图片md5值 * * @example * getImgMd5({ * savePath: '/test.png' * }).then(md5 => { * console.log(md5) * }) * ``` */ function getImgMd5(_a) { var savePath = _a.savePath; var fs = require('fs'); var crypto = require('crypto'); return new Promise(function (resolve, reject) { fs.readFile(savePath, function (err, data) { if (err) { reject(); } var md5Value = crypto.createHash('md5').update(data, 'utf8').digest('hex'); resolve(md5Value); }); }); } export { getImgMd5, saveBase64ImgToFile, saveRemoteImgToLocal, turnLocalImg2Base64 };