UNPKG

@efox/upload-file

Version:

支持所有类型的文件上传到腾讯云,上传完成上报文件MD5、类型、URL、项目名称、用户uid

37 lines (36 loc) 892 B
import 'whatwg-fetch' export default async function ({ url, method, data, params, ...options }) { const paramsArr = [] if (params) { for (let [key, value] of Object.entries(params)) { paramsArr.push(`${key}=${encodeURIComponent(value)}`) } } let searchStr = '' if (paramsArr.length) { searchStr = '?' + paramsArr.join('&') } url = url + searchStr let body if (data) { body = JSON.stringify(data) } const requestHeaders = { 'content-type': 'application/json;charset=UTF-8' } const response = await fetch(url, { method, body, headers: requestHeaders, credentials: 'include', ...options }) if (!response.ok) { throw response } const responseHeaders = response.headers const contentType = responseHeaders.get('Content-Type') if (contentType.startsWith('application/json')) { return response.json() } }