openMediaPicker
Bắt đầu hỗ trợ ở phiên bản:
- SDK: 2.18.11
Lưu ý
Cần xin cấp quyền tại trang Quản lý ứng dụng
Mở cửa sổ chọn media (camera, ảnh, file, video) từ thiết bị. Media sau khi chọn sẽ được tải lên server của bạn dưới dạng dữ liệu multipart/form-data
, fieldname=file
.
Parameters
Object object
Property | Type | Default | Required | Description | Minimum Version |
---|---|---|---|---|---|
type | string | true | Nhận các giá trị sau:
| Các type zcamera , zcamera_photo , zcamera_video , zcamera_scan hỗ trợ từ phiên bản API 2.23.2 | |
serverUploadUrl | string | true | Đường dẫn upload media. Xem ví dụ về server tại đây | ||
maxItemSize | number | Giới hạn kích thước (byte) tối đa của media được phép chọn | |||
maxSelectItem | number | 1 | Giới hạn số lượng tối đa media được chọn | ||
silentRequest | boolean | false | Nhận các giá trị sau:
| ||
editView | object | Hiển thị view chỉnh sửa ảnh | |||
success | function | Callback function khi gọi api thành công | |||
fail | function | Callback function khi gọi api thất bại |
Object editView
Property | Type | Default | Required | Description | Minimum Version |
---|---|---|---|---|---|
enable | boolean | true | true | Hiển thị view chỉnh sửa ảnh | |
aspectRatio | string | 1:1 | Cắt ảnh theo tỉ lệ đã chỉ định. Tỉ lệ truyền vào theo format width:height : là phân số tối giản qui định tỉ lệ width/height |
Return Values
Promise<Object res>
Property | Type | Description | Minimum Version |
---|---|---|---|
data | string | Toàn bộ nội dung trả về của server upload media |
Sample Code
Server
Server phải cung cấp một api dùng để upload media với method POST
và trả về kết quả dạng JSON
. Kết quả trả về phải chứa trường error
với các giá trị:
- 0: Tải lên thành công
- Khác 0: Tải lên thất bại
Một ví dụ về kết quả trả về của API dùng để upload media:
- Tải lên thành công:
{
"error": 0,
"message": "Success",
"data": {
"urls": [...]
}
}
- Tải lên thất bại:
{
"error": -1,
"message": "Fail"
}
Tạo một server để upload media với 2 api:
POST
/upload/media - Dùng để upload mediaGET
/files/:name - Dùng để lấy media theoname
Tham khảo code mẫu dưới đây:
Code demo fallback when rendering server side!
Client
import { openMediaPicker } from "zmp-sdk/apis";
openMediaPicker({
type: "photo",
serverUploadUrl: "https://<your-domain-api>/upload/media",
success: (res) => {
// xử lý khi gọi api thành công
const { data } = res;
const result = JSON.parse(data);
console.log(result);
},
fail: (error) => {
// xử lý khi gọi api thất bại
console.log(error);
}
});
Hoặc
import { openMediaPicker } from "zmp-sdk/apis";
const pickMedia = async () => {
try {
const { data } = await openMediaPicker({
type: "photo",
serverUploadUrl: "https://<your-domain-api>/upload/media"
});
const result = JSON.parse(data);
console.log(result);
} catch (error) {
// xử lý khi gọi api thất bại
console.log(error);
}
};
Errors
Bắt đầu hỗ trợ:
- API phiên bản: 2.21.0
Code | Message | Note |
---|---|---|
-2003 | User cancel | |
-2004 | Unable to pick media | Hãy kiểm tra lại tình trạng mạng hoặc server upload |