"use strict"; const Service = require("egg").Service; const OSS = require('ali-oss'); function fileToBlob(file) { // 创建 FileReader 对象 let reader = new FileReader(); return new Promise(resolve => { // FileReader 添加 load 事件 reader.addEventListener('load', (e) => { let blob; if (typeof e.target.result === 'object') { blob = new Blob([e.target.result]) } else { blob = e.target.result } resolve(blob) }) // FileReader 以 ArrayBuffer 格式 读取 File 对象中数据 reader.readAsArrayBuffer(file) }) } class ImageService extends Service { /** * 保存图片 * @param {*} showPath 图片展示路径 * @param {*} dicomInfo dicom信息 * @param {*} user_id user_id */ async downloadImage(path, osPath, config) { try { const client = new OSS({ region: config.region, accessKeyId: config.accessKeyId, accessKeySecret: config.accessKeySecret, bucket: config.bucket }); const result = await client.get(path, osPath); return result } catch (e) { console.log(e) } } async dcmUpload (name, file, config){ const client = new OSS({ region: config.region, accessKeyId: config.accessKeyId, accessKeySecret: config.accessKeySecret, bucket: config.bucket }); return new Promise(async resolve => { try { let res = await client.put(name, file) resolve({ ...res, }) } catch (e) { resolve(false) console.log(e) } }) } } module.exports = ImageService;