[ 
https://issues.apache.org/jira/browse/CB-8546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Mullins updated CB-8546:
-----------------------------
    Description: 
Would love to be able to get actual file mimetype (not just an extension guess) 
on locally uploaded files in cordova on ios. 

{code}
        window.resolveLocalFileSystemURL(imageData, function(fileEntry) {
                                fileEntry.file(function(filedata) {
                                        console.log(filedata);
                                });
                        }, errorCB2); 
{code}

returns type: nill

i've noticed in the CDVlocalfilesystem.m file that this appears to be of note, 
would love to see it pushed up the list a bit!

{code}
 // can't easily get the mimetype unless create URL, send request and read 
response so skipping
{code}


(relevant chunk of file:)
{code}
- (void)getFileMetadataForURL:(CDVFilesystemURL *)localURL callback:(void 
(^)(CDVPluginResult *))callback
{
    NSString *path = [self filesystemPathForURL:localURL];
    CDVPluginResult *result;
    NSFileManager* fileMgr = [[NSFileManager alloc] init];

    NSError* __autoreleasing error = nil;
    NSDictionary* fileAttrs = [fileMgr attributesOfItemAtPath:path 
error:&error];

    if (fileAttrs) {

        // create dictionary of file info
        NSMutableDictionary* fileInfo = [NSMutableDictionary 
dictionaryWithCapacity:5];

        [fileInfo setObject:localURL.fullPath forKey:@"fullPath"];
        [fileInfo setObject:@"" forKey:@"type"];  // can't easily get the 
mimetype unless create URL, send request and read response so skipping
        [fileInfo setObject:[path lastPathComponent] forKey:@"name"];

        // Ensure that directories (and other non-regular files) report size of 0
        unsigned long long size = ([fileAttrs fileType] == NSFileTypeRegular ? 
[fileAttrs fileSize] : 0);
        [fileInfo setObject:[NSNumber numberWithUnsignedLongLong:size] 
forKey:@"size"];

        NSDate* modDate = [fileAttrs fileModificationDate];
        if (modDate) {
            [fileInfo setObject:[NSNumber numberWithDouble:[modDate 
timeIntervalSince1970] * 1000] forKey:@"lastModifiedDate"];
        }

        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK 
messageAsDictionary:fileInfo];
{code}

  was:
Would love to be able to get actual file mimetype (not just an extension guess) 
on locally uploaded files in cordova on ios. 

<pre>
        window.resolveLocalFileSystemURL(imageData, function(fileEntry) {
                                fileEntry.file(function(filedata) {
                                        console.log(filedata);
                                });
                        }, errorCB2); 
</pre>

returns type: nill

i've noticed in the CDVlocalfilesystem.m file that this appears to be of note, 
would love to see it pushed up the list a bit!

<pre>
 // can't easily get the mimetype unless create URL, send request and read 
response so skipping
</pre>



<pre>
- (void)getFileMetadataForURL:(CDVFilesystemURL *)localURL callback:(void 
(^)(CDVPluginResult *))callback
{
    NSString *path = [self filesystemPathForURL:localURL];
    CDVPluginResult *result;
    NSFileManager* fileMgr = [[NSFileManager alloc] init];

    NSError* __autoreleasing error = nil;
    NSDictionary* fileAttrs = [fileMgr attributesOfItemAtPath:path 
error:&error];

    if (fileAttrs) {

        // create dictionary of file info
        NSMutableDictionary* fileInfo = [NSMutableDictionary 
dictionaryWithCapacity:5];

        [fileInfo setObject:localURL.fullPath forKey:@"fullPath"];
        [fileInfo setObject:@"" forKey:@"type"];  // can't easily get the 
mimetype unless create URL, send request and read response so skipping
        [fileInfo setObject:[path lastPathComponent] forKey:@"name"];

        // Ensure that directories (and other non-regular files) report size of 0
        unsigned long long size = ([fileAttrs fileType] == NSFileTypeRegular ? 
[fileAttrs fileSize] : 0);
        [fileInfo setObject:[NSNumber numberWithUnsignedLongLong:size] 
forKey:@"size"];

        NSDate* modDate = [fileAttrs fileModificationDate];
        if (modDate) {
            [fileInfo setObject:[NSNumber numberWithDouble:[modDate 
timeIntervalSince1970] * 1000] forKey:@"lastModifiedDate"];
        }

        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK 
messageAsDictionary:fileInfo];
</pre>


> MimeType undefined on files in IOS
> ----------------------------------
>
>                 Key: CB-8546
>                 URL: https://issues.apache.org/jira/browse/CB-8546
>             Project: Apache Cordova
>          Issue Type: New Feature
>          Components: iOS, Plugin File
>    Affects Versions: 4.0.0
>         Environment: OS: Mac OS X Yosemite
> Node Version: v0.12.0
> Cordova CLI: 4.2.0
> Xcode version: Xcode 6.1.1 Build version 6A2008a 
> ios-sim version: 3.1.1
>            Reporter: Mike Mullins
>              Labels: filesystem, ios8, mime-type, mimeType, upload
>
> Would love to be able to get actual file mimetype (not just an extension 
> guess) on locally uploaded files in cordova on ios. 
> {code}
>       window.resolveLocalFileSystemURL(imageData, function(fileEntry) {
>                               fileEntry.file(function(filedata) {
>                                       console.log(filedata);
>                               });
>                       }, errorCB2); 
> {code}
> returns type: nill
> i've noticed in the CDVlocalfilesystem.m file that this appears to be of 
> note, would love to see it pushed up the list a bit!
> {code}
>  // can't easily get the mimetype unless create URL, send request and read 
> response so skipping
> {code}
> (relevant chunk of file:)
> {code}
> - (void)getFileMetadataForURL:(CDVFilesystemURL *)localURL callback:(void 
> (^)(CDVPluginResult *))callback
> {
>     NSString *path = [self filesystemPathForURL:localURL];
>     CDVPluginResult *result;
>     NSFileManager* fileMgr = [[NSFileManager alloc] init];
>     NSError* __autoreleasing error = nil;
>     NSDictionary* fileAttrs = [fileMgr attributesOfItemAtPath:path 
> error:&error];
>     if (fileAttrs) {
>         // create dictionary of file info
>         NSMutableDictionary* fileInfo = [NSMutableDictionary 
> dictionaryWithCapacity:5];
>         [fileInfo setObject:localURL.fullPath forKey:@"fullPath"];
>         [fileInfo setObject:@"" forKey:@"type"];  // can't easily get the 
> mimetype unless create URL, send request and read response so skipping
>         [fileInfo setObject:[path lastPathComponent] forKey:@"name"];
>         // Ensure that directories (and other non-regular files) report size 
> of 0
>         unsigned long long size = ([fileAttrs fileType] == NSFileTypeRegular 
> ? [fileAttrs fileSize] : 0);
>         [fileInfo setObject:[NSNumber numberWithUnsignedLongLong:size] 
> forKey:@"size"];
>         NSDate* modDate = [fileAttrs fileModificationDate];
>         if (modDate) {
>             [fileInfo setObject:[NSNumber numberWithDouble:[modDate 
> timeIntervalSince1970] * 1000] forKey:@"lastModifiedDate"];
>         }
>         result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK 
> messageAsDictionary:fileInfo];
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to