UNPKG

resume-parser-mcp

Version:

To install dependencies:

37 lines (36 loc) 1.16 kB
import axios from 'axios'; import fs from 'fs'; import path from 'path'; import { tmpdir } from 'os'; import { v4 as uuidv4 } from 'uuid'; export async function downloadFile(url) { try { const response = await axios({ url, method: 'GET', responseType: 'stream', }); const fileExtension = path.extname(new URL(url).pathname).toLowerCase(); const tempFilePath = path.join(tmpdir(), `${uuidv4()}${fileExtension}`); const writer = fs.createWriteStream(tempFilePath); await new Promise((resolve, reject) => { response.data.pipe(writer); let error = null; writer.on('error', (err) => { error = err; writer.close(); reject(err); }); writer.on('close', () => { if (!error) { resolve(tempFilePath); } }); }); return tempFilePath; } catch (error) { console.error('文件下载失败:', error?.message); throw new Error(`无法下载文件: ${error?.message}`); } }