2013-06-22 39 views
0

我的相機代碼在WL 5.0.6中正常工作,移動瀏覽器模擬器將正確顯示圖像。現在我轉移到WL 6.0並且在移動瀏覽器模擬器中使用預覽並使用科爾多瓦相機模擬獲取假照片時,我得到以下錯誤。IBM Worklight 6.0 - 移動瀏覽器模擬器中的Cordova相機模擬不起作用

我使用Chrome進行預覽。

 
Not allowed to load local resource: file:///C:/Users/Administrator/cordova/internal/sim/camera/camera1_m.jpg wljq.js:2374 

的代碼與此類似

navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
destinationType: Camera.DestinationType.FILE_URI }); 

需要注意的是,如果我使用DATA_URL,似乎與移動瀏覽器模擬器確定。只是FILE_URI似乎不適用於移動瀏覽器模擬器。

回答

0

有趣的是,已經有一個針對您的問題的故障排除文檔。

http://www-01.ibm.com/support/docview.wss?uid=swg21614861

它看起來像在WLv5 DATA_URL沒有工作,而(如果你是右)FILE_URI不是因爲WLv6工作。

+0

我剛剛試了一下。 onSuccess回調收到一個錯誤的URI,它真的指向用戶文件夾: C:/ Users//cordova/internal/sim/camera/... – MHeiss

4

Worklight 6.0 Mobile Browser Simulator支持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:/用戶// cordova/internal/sim/camera /文件夾傳輸,因爲這是applet存儲相機sim圖像內容的地方。

科爾多瓦2.6照相機API參考: http://docs.phonegap.com/en/2.6.0/cordova_camera_camera.md.html

相關問題