[
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]