From d2a35b8d68e8befa5a07c4d919fc1ac503f257fc Mon Sep 17 00:00:00 2001 From: xzs02 Date: Wed, 23 Jan 2019 18:25:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=E4=B8=BAbase64=E6=97=B6?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=B2=A1=E6=9C=89=E6=89=A9=E5=B1=95=E5=90=8D?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/platforms/h5/helpers/file.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/platforms/h5/helpers/file.js b/src/platforms/h5/helpers/file.js index 71aa45a8c0f..3a9a82a6b39 100644 --- a/src/platforms/h5/helpers/file.js +++ b/src/platforms/h5/helpers/file.js @@ -13,7 +13,7 @@ export function urlToFile (url) { return Promise.resolve(file) } if (/^data:[a-z-]+\/[a-z-]+;base64,/.test(url)) { - return Promise.resolve(base64ToBlob(url)) + return Promise.resolve(base64ToFile(url)) } return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest() @@ -27,11 +27,11 @@ export function urlToFile (url) { }) } /** - * base64转Blob + * base64转File * @param {string} base64 - * @return {Blob} + * @return {File} */ -export function base64ToBlob (base64) { +export function base64ToFile (base64) { base64 = base64.split(',') var type = base64[0].match(/:(.*?);/)[1] var str = atob(base64[1]) @@ -40,7 +40,8 @@ export function base64ToBlob (base64) { while (n--) { array[n] = str.charCodeAt(n) } - return new Blob([array], { type: type }) + var filename = `${Date.now()}.${type.split('/')[1]}` + return new File([array], filename, { type: type }) } /** * 从本地file或者blob对象创建url