@@ -63,7 +63,7 @@ const isFileBase = (input: InputFile): input is string => {
63
63
* @param {* } inputFile
64
64
* @returns {Promise<File> }
65
65
*/
66
- export const getFile = ( input : InputFile , sanitizeOptions ?: SanitizeOptions ) : Promise < FsFile > => {
66
+ export const getFile = async ( input : InputFile , sanitizeOptions ?: SanitizeOptions ) : Promise < FsFile > => {
67
67
let filename ;
68
68
69
69
if ( isFileNamed ( input ) ) {
@@ -74,21 +74,21 @@ export const getFile = (input: InputFile, sanitizeOptions?: SanitizeOptions): Pr
74
74
if ( isFilePath ( input ) ) {
75
75
let path = input ;
76
76
return new Promise ( ( resolve , reject ) => {
77
- require ( 'fs' ) . readFile ( path , ( err , buffer ) => {
77
+ require ( 'fs' ) . readFile ( path , async ( err , buffer ) => {
78
78
if ( err ) {
79
79
return reject ( err ) ;
80
80
}
81
81
82
82
if ( ! filename ) {
83
83
filename = require && require ( 'path' ) . basename ( path ) ;
84
84
}
85
-
85
+ let mime = await getMimetype ( buffer , filename ) ;
86
86
return resolve (
87
87
new FsFile (
88
88
{
89
89
name : filename ,
90
90
size : buffer . byteLength ,
91
- type : getMimetype ( buffer , filename ) ,
91
+ type : mime ,
92
92
slice : ( start , end ) => Promise . resolve ( buffer . slice ( start , end ) ) ,
93
93
} ,
94
94
sanitizeOptions
@@ -108,12 +108,13 @@ export const getFile = (input: InputFile, sanitizeOptions?: SanitizeOptions): Pr
108
108
}
109
109
110
110
if ( isFileBuffer ( input ) ) {
111
+ let mime = await getMimetype ( input , filename ) ;
111
112
return Promise . resolve (
112
113
new FsFile (
113
114
{
114
115
name : filename ,
115
116
size : input . byteLength ,
116
- type : getMimetype ( input , filename ) ,
117
+ type : mime ,
117
118
// @ts -ignore
118
119
slice : ( start , end ) => Promise . resolve ( input . slice ( start , end ) ) ,
119
120
} ,
0 commit comments