我花了一整天的时间在谷歌上搜索并在各种平台上询问。我找不到简单地在离子应用程序中选择和上传文件的方法(pdf,rtf等)。
在var theOnesINeed = compose(...);
var theOtherOnesINeed = compose(...);
var intoADifferentFormat = function(value){ return ... }
function(event){
var a = someList.filter(theOnesINeed).map(intoADifferentFormat);
var b = someOtherList.filter(theOtherOnesINeed);
var rows = a.concat(b).map(wrap('<li>', '</li>'));
document.querySelector('#youYesYou').innerHTML = rows.join('\n');
}
函数中,我需要提供文件路径。我试过cordovaFileTransfer.upload
(假冒路径)等但没有成功。我的previous question未得到答复,因此我需要再次提问。
document.getElementById('file').value
&#13;
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.upload = function(){
document.getElementById('fileu').click();
$scope.fileNameChanged = function(filoename) {
console.log(filoename.files);
}}})
&#13;
答案 0 :(得分:1)
我正在使用cordova-plugin-file
和cordova-plugin-filepath.
您可以使用
window.resolveLocalFileSystemURL( filePath, function (fileEntry)
{
console.log('got a file entry');
fileEntry.file(function (file) {
console.log('created file');
console.log(file.localURL);
})
}, function (e) {
console.log('Error resolving fs url', e);
});
filePath
是我在拍照或从图库中选择一张时从cordova获得的变量,这解决了上传所需的真实路径。您也可以使用
window.FilePath.resolveNativePath(filePath, function(path) {
// stuff
}, function (e) {
console.log('Error resolving fs url', e);
});
但对我来说,第一个在不同版本的android,ios等上工作得更好。
经过大量的反复试验后,我发现对于iOS,有时您需要将file://
放在filePath
前面,否则无法正确解析路径。
希望我帮助过你。