我需要一些关于如何获取文件名称的提示,该文件已由cordova相机插件挑选/拍摄。这是代码,我有一个图片:
var options = {destinationType: Camera.DestinationType.NATIVE_URI};
options.sourceType = sourceType;
$cordovaCamera.getPicture(options).then(function (newURI) {
imageFileURI = newURI;
console.log('NATIVE_URI:\n' + imageFileURI);
//I need to get the file name and extension here
window.plugins.Base64.encodeFile(imageFileURI, function (base64Image) {
base64Data = base64Image;
}, function (error) {
console.log('Error while converting to base64: ' + error);
});
}, function (error) {
console.log('Error while picking a photo: ' + error);
});
有没有办法,如何获取文件名和扩展名,我需要它? 谢谢
答案 0 :(得分:2)
var fileName = imageFileURI.substr(imageFileURI.lastIndexOf(' /')+ 1);
以上代码获取文件名。
var fileExtension = filename.substr(filename.lastIndexOf(' /')+ 1);
这将获得文件扩展名。
答案 1 :(得分:1)
不确定回答这个问题是否为时已晚。
这就是我解决确切问题的方法。问题是,当图像在手机存储器中时,它会为您提供文件URI;当来自外部存储器时,它会为您提供内容:// url。
解决方案是使用此插件。 cordova-plugin-filepath
您可以阅读上面的github页面了解相关说明。这就是我使用它的方式。
window.FilePath.resolveNativePath(
ImageURI,
function(imagePath){
$(el).html(imagePath);
},
function(){
alert('Could not retrieve the image path');
});
希望这会有所帮助。
答案 2 :(得分:0)
有几点想法: