我想使用 將cordova-plugin-camera手機中的檔案顯示為標簽。
const getPicture = () => new Promise((resolve, reject) => {
camera.getPicture(data => resolve(data), msg => reject(msg), {
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
mediaType: Camera.MediaType.ALLMEDIA,
allowEdit: true,
});
});
let url = await getPicture();
// url is "/storage/emulated/0/DCIM/Camera/20220208_140605.jpg"
const onsuccess = function (entry) {
image.src = entry.toURL();
// entry.toURL() is "https://localhost/__cdvfile_sdcard__/DCIM/Camera/20220208_140605.jpg"
}
const one rror = function (err) {
console.error(`error : ${err.code}`);
}
if (!url.startsWith('file://')) {
url = `file://${url}`;
}
window.resolveLocalFileSystemURL(url, onsuccess, one rror);
我試過了,但出現錯誤。(在遠程鉻開發工具中)
Failed to load resource: net::ERR_CONNECTION_REFUSED
我的 package.json 如下:
{
"name": "app.hybrid.foobar",
"displayName": "foobar",
"version": "0.0.1",
"main": "index.js",
"devDependencies": {
"cordova-android": "^10.1.2",
"cordova-plugin-android-permissions": "^1.1.4",
"cordova-plugin-camera": "^6.0.0",
"cordova-plugin-file": "^7.0.0"
},
"cordova": {
"plugins": {
"cordova-plugin-android-permissions": {},
"cordova-plugin-camera": {
"ANDROIDX_CORE_VERSION": "1.6. "
},
"cordova-plugin-file": {
"ANDROIDX_WEBKIT_VERSION": "1.4.0"
}
},
"platforms": [
"android"
]
}
}
搜索的時候看到了一個Data URL,寫在IMG標簽里,但就我的情況,要顯示很多圖片,而且圖片尺寸很大。
有什么辦法嗎?
uj5u.com熱心網友回復:
這是一個權限問題。我添加了以下內容config.xml并解決了問題。這里的重點似乎是一個RequestLegacnyxternalStorage.
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/*">
<!-- added lines start -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- added lines end -->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.webkit.PermissionRequest"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:name="android.hardware.camera2.full"/>
<uses-feature android:name="android.hardware.camera2.autofocus"/>
</config-file>
<!-- added lines start -->
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:requestLegacyExternalStorage="true"/>
</edit-config>
<!-- added lines end -->
</platform>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/515764.html
標籤:安卓科尔多瓦网页浏览相机
