Javascript 如何从Cordova文件传输插件获取mimeType?

Javascript 如何从Cordova文件传输插件获取mimeType?,javascript,cordova,mime-types,file-transfer,apache-cordova,Javascript,Cordova,Mime Types,File Transfer,Apache Cordova,我正在开发混合移动应用程序 在其中一个场景中,我们需要在选择或上载文件时从文件中获取mimeType 我正在使用apachefiletransfer resolveLocalFileSystemURL(fileURI、resolveOnSuccess、resolveOnFail)文件传输不公开mimeType和其他文件上载选项参数 只有中的上载才支持Mimetype自动检测 此外,它还对Android的实现提出了一些建议。您可以从cordova文件插件中获得它 $cordovaFile.chec

我正在开发混合移动应用程序

在其中一个场景中,我们需要在选择或上载文件时从文件中获取mimeType

我正在使用apachefiletransfer


resolveLocalFileSystemURL(fileURI、resolveOnSuccess、resolveOnFail)

文件传输
不公开mimeType和其他文件上载选项参数

只有中的上载才支持Mimetype自动检测


此外,它还对Android的实现提出了一些建议。

您可以从cordova文件插件中获得它

$cordovaFile.checkFile(uri, '')
.then(function(entry) {
    // success
    var name = entry.name;

    entry.file(function(data) {
        // get mime type
        var mime = data.type;
        alert(mime);
    })

}, function(error) {
    // error
    // show toast
});

在Angular 2中,我使用:

export class Plugins {

albums = {
    open () : Promise<any>  {
        return ImagePicker.getPictures({
                quality: 100,
                maximumImagesCount: 1,
        }).then((imgUrls) => {
            return imgUrls;
        }, (err) => {
            if(err.error == "cordova_not_available") {
                alert("Cordova is not available, please make sure you have your app deployed on a simulator or device");
            } else {
                console.log("Failed to open albums: " + err.error);
            }
        });
    },
}

resolveLocalFileSystemURL
通过成功回调返回一个
条目
,我必须将该条目转换为
FileEntry
,才能访问file方法,该方法返回一个扩展了具有mime类型属性的
Blob

我在TypeScript和Angular中实现了这样的工作2:

this._File.resolveLocalFilesystemUrl(somefileUri).then((entry: Entry) => {
    if (entry) {
        var fileEntry = entry as FileEntry;
        fileEntry.file(success => { 
            var mimeType = success.type;
        }, error => {
            // no mime type found;
        });        
    }
});

你确定这样行吗?我传入了一个uri,如下所示:
content://com.android.providers.media.documents/document/video%3A818
但它仍然不返回任何内容。每次我都会收到
FileError
。对于最新版本的Ionic和Cordova,文件类型没有类型参数。
this._File.resolveLocalFilesystemUrl(somefileUri).then((entry: Entry) => {
    if (entry) {
        var fileEntry = entry as FileEntry;
        fileEntry.file(success => { 
            var mimeType = success.type;
        }, error => {
            // no mime type found;
        });        
    }
});