2016-05-07 50 views
11

我是新來的離子和我試圖上傳相機拍攝的圖像存儲在Android的文件系統:離子科爾多瓦文件上傳錯誤:無法加載本地資源

var ft = new FileTransfer(); 
console.log('Uploading: ' + fileURL); 
ft.upload(fileURL, 
    encodeURI("http://192.168.192.62:3000/api/meals/picture"), 
    pictureUploaded, 
    function(error) { 
    console.err(error); 
    $ionicLoading.show({template: 'Ooops error uploading picture...'}); 
    setTimeout(function(){$ionicLoading.hide();}, 3000); 
    }, 
    options); 

var pictureUploaded = function() { 
    console.log('uploaded!'); 
    $ionicLoading.hide(); 
}; 

fileUrl指向一個存在image:file:///data/data/com.ionicframework.nutrilifemobile664547/files/Q2AtO1462636767466.jpg

在chrome:// inspect /#設備控制檯中我得到以下錯誤,它看起來像是因爲錯誤FileOptions也沒有正確發送,這是錯誤(不允許加載本地資源):

enter image description here

科爾多瓦版本:6.1.1 離子版本:1.7.14

任何想法?我一直堅持這個錯誤。

+0

你能否使用任何文件瀏覽器查看文件?在許多情況下,應用程序特定的數據不能在應用程序外訪問你可以嘗試存儲圖像externalRootDirectory並嘗試一次嗎? – Gandhi

+0

@Marcos,你解決了這個問題嗎? – BohdanZ

+5

@BohdanZ - 嗨,其實我剛剛發現這種情況發生在使用livereload選項時,即「ionic run android -lc」。在這種情況下,看起來像插件使得在計算機的實際文件系統中搜索,而不是設備..所以爲了避免我只是在沒有-lc選項的情況下運行它...這不是最優的,檢查支持,但我找不到使用-lc選項繞過問題的方法。 –

回答

20

當您對Ionic使用「livereload」選項時會發生這種情況。

嘗試在正常模式下運行

+5

如果你檢查我上面的問題的意見,你會發現我們已經得出這個結論,問題是這不是一個正確的答案或解決問題,我想這個工作,仍然能夠正確使用-lc選項和/或能夠使用鉻檢查。 –

+0

謝謝,我有同樣的問題,併發揮作用 – Bullgod

0

它可能爲時已晚,但...你可以轉換成團塊使用文件再轉換斑點使用URL.createObjectURL(BLOB)和傳遞到URL /設置爲src複製到本地路徑你的html元素。這對於生產環境來說是不必要的,但是您可以將它用於-lc開發。也許工作

0

真不簡單,我曾與科爾多瓦運行的Android

相關問題