Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
bf9b3247
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bf9b3247
编写于
8月 26, 2020
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复 iOS9 系统 uni.uploadFile 传入 base64 报错的问题
上级
fd8e71e6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
4 deletion
+34
-4
src/platforms/h5/helpers/file.js
src/platforms/h5/helpers/file.js
+29
-2
src/platforms/h5/service/api/network/upload-file.js
src/platforms/h5/service/api/network/upload-file.js
+5
-2
未找到文件。
src/platforms/h5/helpers/file.js
浏览文件 @
bf9b3247
...
...
@@ -44,8 +44,35 @@ export function base64ToFile (base64) {
while
(
n
--
)
{
array
[
n
]
=
str
.
charCodeAt
(
n
)
}
var
filename
=
`
${
Date
.
now
()}
.
${
type
.
split
(
'
/
'
)[
1
]}
`
return
new
File
([
array
],
filename
,
{
type
:
type
})
return
blobToFile
(
array
,
type
)
}
/**
* 简易获取扩展名
* @param {string} type
* @return {string}
*/
function
getExtname
(
type
)
{
const
extname
=
type
.
split
(
'
/
'
)[
1
]
return
extname
?
`.
${
extname
}
`
:
''
}
/**
* blob转File
* @param {Blob} blob
* @param {string} type
* @return {File}
*/
export
function
blobToFile
(
blob
,
type
)
{
if
(
!
(
blob
instanceof
File
))
{
type
=
type
||
blob
.
type
||
''
const
filename
=
`
${
Date
.
now
()}${
getExtname
(
type
)}
`
try
{
blob
=
new
File
([
blob
],
filename
,
{
type
})
}
catch
(
error
)
{
blob
=
blob
instanceof
Blob
?
blob
:
new
Blob
([
blob
],
{
type
})
blob
.
name
=
blob
.
name
||
filename
}
}
return
blob
}
/**
* 从本地file或者blob对象创建url
...
...
src/platforms/h5/service/api/network/upload-file.js
浏览文件 @
bf9b3247
import
{
urlToFile
}
from
'
uni-platform/helpers/file
'
import
{
urlToFile
,
blobToFile
}
from
'
uni-platform/helpers/file
'
/**
* 上传任务
*/
...
...
@@ -133,7 +136,7 @@ export function uploadFile ({
}
Promise
.
all
(
files
.
map
(({
file
,
uri
})
=>
file
instanceof
Blob
?
Promise
.
resolve
(
file
)
:
urlToFile
(
uri
)))
.
all
(
files
.
map
(({
file
,
uri
})
=>
file
instanceof
Blob
?
Promise
.
resolve
(
blobToFile
(
file
)
)
:
urlToFile
(
uri
)))
.
then
(
upload
)
.
catch
(()
=>
{
setTimeout
(()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录