Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-starter
提交
190883af
U
uni-starter
项目概览
DCloud
/
uni-starter
通知
4684
Star
229
Fork
210
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-starter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
190883af
编写于
10月 29, 2024
作者:
Anne_LXM
提交者:
Anne_LXM
12月 12, 2024
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新uni-file-picker
上级
049a0063
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
164 addition
and
82 deletion
+164
-82
uni_modules/uni-file-picker/changelog.md
uni_modules/uni-file-picker/changelog.md
+17
-1
uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
...cker/components/uni-file-picker/choose-and-upload-file.js
+67
-4
uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
...ile-picker/components/uni-file-picker/uni-file-picker.vue
+12
-11
uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
...ni-file-picker/components/uni-file-picker/upload-file.vue
+26
-26
uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
...i-file-picker/components/uni-file-picker/upload-image.vue
+38
-38
uni_modules/uni-file-picker/components/uni-file-picker/utils.js
...dules/uni-file-picker/components/uni-file-picker/utils.js
+1
-0
uni_modules/uni-file-picker/package.json
uni_modules/uni-file-picker/package.json
+3
-2
未找到文件。
uni_modules/uni-file-picker/changelog.md
浏览文件 @
190883af
## 1.0.3(2022-12-21)
## 1.0.11(2024-07-19)
-
修复 vue3 使用value报错的bug
## 1.0.10(2024-07-09)
-
优化 vue3兼容性
## 1.0.9(2024-07-09)
-
修复 value 属性不兼容vue3的bug
## 1.0.8(2024-03-20)
-
补充 删除文件时返回文件下标
## 1.0.7(2024-02-21)
-
新增 微信小程序选择视频时改用chooseMedia,并返回视频缩略图
## 1.0.6(2024-01-06)
-
新增 微信小程序不再调用chooseImage,而是调用chooseMedia
## 1.0.5(2024-01-03)
-
新增 上传文件至云存储携带本地文件名称
## 1.0.4(2023-03-29)
-
修复 手动上传删除一个文件后不能再上传的bug
## 1.0.3(2022-12-19)
-
新增 sourceType 属性, 可以自定义图片和视频选择的来源
## 1.0.2(2022-07-04)
-
修复 在uni-forms下样式不生效的bug
...
...
uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
浏览文件 @
190883af
...
...
@@ -11,6 +11,28 @@ function chooseImage(opts) {
extension
}
=
opts
return
new
Promise
((
resolve
,
reject
)
=>
{
// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口
// #ifdef MP-WEIXIN
uni
.
chooseMedia
({
count
,
sizeType
,
sourceType
,
mediaType
:
[
'
image
'
],
extension
,
success
(
res
)
{
res
.
tempFiles
.
forEach
(
item
=>
{
item
.
path
=
item
.
tempFilePath
;
})
resolve
(
normalizeChooseAndUploadFileRes
(
res
,
'
image
'
));
},
fail
(
res
)
{
reject
({
errMsg
:
res
.
errMsg
.
replace
(
'
chooseImage:fail
'
,
ERR_MSG_FAIL
),
});
},
})
// #endif
// #ifndef MP-WEIXIN
uni
.
chooseImage
({
count
,
sizeType
,
...
...
@@ -25,11 +47,14 @@ function chooseImage(opts) {
});
},
});
// #endif
});
}
function
chooseVideo
(
opts
)
{
const
{
count
,
camera
,
compressed
,
maxDuration
,
...
...
@@ -37,6 +62,45 @@ function chooseVideo(opts) {
extension
}
=
opts
;
return
new
Promise
((
resolve
,
reject
)
=>
{
// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口
// #ifdef MP-WEIXIN
uni
.
chooseMedia
({
count
,
compressed
,
maxDuration
,
sourceType
,
extension
,
mediaType
:
[
'
video
'
],
success
(
res
)
{
const
{
tempFiles
,
}
=
res
;
resolve
(
normalizeChooseAndUploadFileRes
({
errMsg
:
'
chooseVideo:ok
'
,
tempFiles
:
tempFiles
.
map
(
item
=>
{
return
{
name
:
item
.
name
||
''
,
path
:
item
.
tempFilePath
,
thumbTempFilePath
:
item
.
thumbTempFilePath
,
size
:
item
.
size
,
type
:
(
res
.
tempFile
&&
res
.
tempFile
.
type
)
||
''
,
width
:
item
.
width
,
height
:
item
.
height
,
duration
:
item
.
duration
,
fileType
:
'
video
'
,
cloudPath
:
''
,
}
}),
},
'
video
'
));
},
fail
(
res
)
{
reject
({
errMsg
:
res
.
errMsg
.
replace
(
'
chooseVideo:fail
'
,
ERR_MSG_FAIL
),
});
},
})
// #endif
// #ifndef MP-WEIXIN
uni
.
chooseVideo
({
camera
,
compressed
,
...
...
@@ -54,8 +118,7 @@ function chooseVideo(opts) {
resolve
(
normalizeChooseAndUploadFileRes
({
errMsg
:
'
chooseVideo:ok
'
,
tempFilePaths
:
[
tempFilePath
],
tempFiles
:
[
{
tempFiles
:
[{
name
:
(
res
.
tempFile
&&
res
.
tempFile
.
name
)
||
''
,
path
:
tempFilePath
,
size
,
...
...
@@ -74,6 +137,7 @@ function chooseVideo(opts) {
});
},
});
// #endif
});
}
...
...
@@ -211,8 +275,7 @@ function chooseAndUploadFile(opts = {
})
{
if
(
opts
.
type
===
'
image
'
)
{
return
uploadFiles
(
chooseImage
(
opts
),
opts
);
}
else
if
(
opts
.
type
===
'
video
'
)
{
}
else
if
(
opts
.
type
===
'
video
'
)
{
return
uploadFiles
(
chooseVideo
(
opts
),
opts
);
}
return
uploadFiles
(
chooseAll
(
opts
),
opts
);
...
...
uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
浏览文件 @
190883af
...
...
@@ -89,24 +89,18 @@
},
emits
:
[
'
select
'
,
'
success
'
,
'
fail
'
,
'
progress
'
,
'
delete
'
,
'
update:modelValue
'
,
'
input
'
],
props
:
{
// #ifdef VUE3
modelValue
:
{
type
:
[
Array
,
Object
],
default
()
{
return
[]
}
},
// #endif
// #ifndef VUE3
value
:
{
type
:
[
Array
,
Object
],
default
()
{
return
[]
}
},
// #endif
disabled
:
{
type
:
Boolean
,
default
:
false
...
...
@@ -191,6 +185,10 @@
default
()
{
return
[
'
album
'
,
'
camera
'
]
}
},
provider
:
{
type
:
String
,
default
:
''
// 默认上传到 unicloud 内置存储 extStorage 扩展存储
}
},
data
()
{
...
...
@@ -200,22 +198,18 @@
}
},
watch
:
{
// #ifndef VUE3
value
:
{
handler
(
newVal
,
oldVal
)
{
this
.
setValue
(
newVal
,
oldVal
)
},
immediate
:
true
},
// #endif
// #ifdef VUE3
modelValue
:
{
handler
(
newVal
,
oldVal
)
{
this
.
setValue
(
newVal
,
oldVal
)
},
immediate
:
true
},
// #endif
},
computed
:
{
filesList
()
{
...
...
@@ -331,7 +325,6 @@
* 选择文件
*/
choose
()
{
if
(
this
.
disabled
)
return
if
(
this
.
files
.
length
>=
Number
(
this
.
limitLength
)
&&
this
.
showType
!==
'
grid
'
&&
this
.
returnType
===
'
array
'
)
{
...
...
@@ -418,6 +411,13 @@
if
(
!
this
.
autoUpload
||
this
.
noSpace
)
{
res
.
tempFiles
=
[]
}
res
.
tempFiles
.
forEach
((
fileItem
,
index
)
=>
{
this
.
provider
&&
(
fileItem
.
provider
=
this
.
provider
);
const
fileNameSplit
=
fileItem
.
name
.
split
(
'
.
'
)
const
ext
=
fileNameSplit
.
pop
()
const
fileName
=
fileNameSplit
.
join
(
'
.
'
).
replace
(
/
[\s\/\?
<>
\\
:
\*\|
":
]
/g
,
'
_
'
)
fileItem
.
cloudPath
=
fileName
+
'
_
'
+
Date
.
now
()
+
'
_
'
+
index
+
'
.
'
+
ext
})
},
/**
...
...
@@ -523,6 +523,7 @@
*/
delFile
(
index
)
{
this
.
$emit
(
'
delete
'
,
{
index
,
tempFile
:
this
.
files
[
index
],
tempFilePath
:
this
.
files
[
index
].
url
})
...
...
uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
浏览文件 @
190883af
uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
浏览文件 @
190883af
uni_modules/uni-file-picker/components/uni-file-picker/utils.js
浏览文件 @
190883af
...
...
@@ -90,6 +90,7 @@ export const get_file_data = async (files, type = 'image') => {
extname
:
extname
||
''
,
cloudPath
:
files
.
cloudPath
,
fileType
:
files
.
fileType
,
thumbTempFilePath
:
files
.
thumbTempFilePath
,
url
:
files
.
path
||
files
.
path
,
size
:
files
.
size
,
//单位是字节
image
:
{},
...
...
uni_modules/uni-file-picker/package.json
浏览文件 @
190883af
{
"id"
:
"uni-file-picker"
,
"displayName"
:
"uni-file-picker 文件选择上传"
,
"version"
:
"1.0.
3
"
,
"version"
:
"1.0.
11
"
,
"description"
:
"文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间"
,
"keywords"
:
[
"uni-ui"
,
...
...
@@ -42,7 +42,8 @@
"platforms"
:
{
"cloud"
:
{
"tcb"
:
"y"
,
"aliyun"
:
"y"
"aliyun"
:
"y"
,
"alipay"
:
"n"
},
"client"
:
{
"App"
:
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录