当类型 属性 为空时如何知道文件对象中的文件类型
How to know file type in file object when type propery is empty
我正在 android 应用程序中读取一个文件:
<ion-input type="file" (change)="readFile($event)"></ion-input>
我得到一个file
对象,我可以通过检查type
属性.
知道文件类型
但是有些文件是空的 type
属性,如下图所示:
如果文件为空 type
属性 且没有扩展名,我如何知道文件类型?
不久前我在使用 Windows 机器时遇到了这个问题。
修复了 .
之后的问题
引用:“如我所料,问题是系统特定的,注册表 (HKEY_CLASSES_ROOT.csv) 下缺少 .csv 类型的 content-type。”
我找到的一个解决方案是将其转换为 base64,例如使用以下代码:
getBase64(file)
{
return new Promise((resolve, reject) =>
{
const reader = this.getFileReader();// this function is important for real devices. Without it the fielReader.onload will not be triggered in read device
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
}
return 看起来像这样:
'data:application/octet-stream;base64,T2dnUwACAAAAAAAAAAAAAAAAAAAAACqCBoIBE09wdXNIZWFkAQFoAIA+AAAAAABPZ2dTAAAAAAAAAAA ...
如您所见,在 data:
之后我们得到了 type
。在这种情况下 application/octet-stream
我正在 android 应用程序中读取一个文件:
<ion-input type="file" (change)="readFile($event)"></ion-input>
我得到一个file
对象,我可以通过检查type
属性.
但是有些文件是空的 type
属性,如下图所示:
如果文件为空 type
属性 且没有扩展名,我如何知道文件类型?
不久前我在使用 Windows 机器时遇到了这个问题。
修复了
引用:“如我所料,问题是系统特定的,注册表 (HKEY_CLASSES_ROOT.csv) 下缺少 .csv 类型的 content-type。”
我找到的一个解决方案是将其转换为 base64,例如使用以下代码:
getBase64(file)
{
return new Promise((resolve, reject) =>
{
const reader = this.getFileReader();// this function is important for real devices. Without it the fielReader.onload will not be triggered in read device
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
}
return 看起来像这样:
'data:application/octet-stream;base64,T2dnUwACAAAAAAAAAAAAAAAAAAAAACqCBoIBE09wdXNIZWFkAQFoAIA+AAAAAABPZ2dTAAAAAAAAAAA ...
如您所见,在 data:
之后我们得到了 type
。在这种情况下 application/octet-stream