Ibm mobilefirst IBM Worklight 6.0-移动浏览器模拟器中的Cordova摄像头模拟;行不通
我的摄像头代码在WL5.0.6中运行良好,移动浏览器模拟器可以正确显示图像。现在我转到WL6.0,在移动浏览器模拟器中使用预览并使用Cordova摄像头模拟获取假图片时,我遇到以下错误 我正在使用Chrome进行预览 Not allowed to load local resource: file:///C:/Users/Administrator/cordova/internal/sim/camera/camera1_m.jpg wljq.js:2374Ibm mobilefirst IBM Worklight 6.0-移动浏览器模拟器中的Cordova摄像头模拟;行不通,ibm-mobilefirst,worklight-console,worklight-mbs,Ibm Mobilefirst,Worklight Console,Worklight Mbs,我的摄像头代码在WL5.0.6中运行良好,移动浏览器模拟器可以正确显示图像。现在我转到WL6.0,在移动浏览器模拟器中使用预览并使用Cordova摄像头模拟获取假图片时,我遇到以下错误 我正在使用Chrome进行预览 Not allowed to load local resource: file:///C:/Users/Administrator/cordova/internal/sim/camera/camera1_m.jpg wljq.js:2374 请注意,如果我使用DATA_URL,那
请注意,如果我使用DATA_URL,那么在移动浏览器模拟器中似乎没有问题。只是文件URI似乎与移动浏览器模拟器不兼容。有趣的是,已经有一份解决问题的文档
看起来数据URL在WLv5中不起作用,而(如果您是对的)文件URI在WLv6之后就不起作用了。有趣的是,已经有一个解决问题的文档
看起来数据URL在WLv5中不起作用,而(如果您是对的)文件URI在WLv6之后不起作用。Worklight 6.0移动浏览器模拟器支持Cordova 2.6 API。对于navigator.camera.getPicture,WL 6.0中可以使用以下目标类型:
Camera.DestinationType = {
DATA_URL : 0, // Return image as base64 encoded string
FILE_URI : 1, // Return image file URI
NATIVE_URI : 2 // Return image native URI (eg. assets-library:// on iOS or content:// on Android)
};
例如:
navigator.camera.getPicture(
function(data) {
document.getElementById('camera_status').innerHTML = "Success: picture located at " + data;
var img = document.getElementById('camera_image');
img.style.display = "none";
},
function(e) {
console.log("Error getting picture: " + e);
document.getElementById('camera_status').innerHTML = "Error getting picture.";
},
{ quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM, encodingType: fileType});
尝试清除浏览器缓存,然后确保在移动浏览器模拟器启动时接受小程序权限对话框。另外,请确保您的文件权限允许从C:/Users//cordova/internal/sim/camera/文件夹进行传输,因为该文件夹是小程序存储摄像头sim图像内容的地方
Cordova 2.6摄像机API参考:
Worklight 6.0移动浏览器模拟器支持Cordova 2.6 API。对于navigator.camera.getPicture,WL 6.0中可以使用以下目标类型:
Camera.DestinationType = {
DATA_URL : 0, // Return image as base64 encoded string
FILE_URI : 1, // Return image file URI
NATIVE_URI : 2 // Return image native URI (eg. assets-library:// on iOS or content:// on Android)
};
例如:
navigator.camera.getPicture(
function(data) {
document.getElementById('camera_status').innerHTML = "Success: picture located at " + data;
var img = document.getElementById('camera_image');
img.style.display = "none";
},
function(e) {
console.log("Error getting picture: " + e);
document.getElementById('camera_status').innerHTML = "Error getting picture.";
},
{ quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM, encodingType: fileType});
尝试清除浏览器缓存,然后确保在移动浏览器模拟器启动时接受小程序权限对话框。另外,请确保您的文件权限允许从C:/Users//cordova/internal/sim/camera/文件夹进行传输,因为该文件夹是小程序存储摄像头sim图像内容的地方
Cordova 2.6摄像机API参考:
我刚试过。onSuccess回调收到一个错误的URI,它实际上指向用户文件夹:C:/Users//cordova/internal/sim/camera/…我刚刚尝试过。onSuccess回调收到一个错误的URI,它实际上指向用户文件夹:C:/Users//cordova/internal/sim/camera/。。。