我的目标是通过相机或文件存储上传多个文件,我正在使用ng2FileSelect通过Ionic应用程序将多个文件上传到服务器,这就是它的HTML:
<input (change)="upload()" type="file" ng2FileSelect
[uploader]="uploader" multiple accept="image/*" capture="environment">
在chrome上的localhost上运行时,它会成功提供选项,以打开移动摄像头或从存储中选择文件。但是在Ionic DevApp或Android设备上(通过APK)对其进行测试时,它直接打开文件存储空间,而不提供打开手机摄像头的选项。是否可以通过上述输入标签实现上述目标,还是我不得不使用一种单独的方法从相机上载文件,例如Cordova相机插件等?
答案 0 :(得分:2)
ng2FileSelect是特定于浏览器的,可能会在本机设备上造成问题。我的建议是使用cordova相机插件。
您可以通过此命令安装插件
ionic cordova plugin add cordova-plugin-camera
npm install @ionic-native/camera
它支持以下平台
用法
import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
constructor(private camera: Camera) { }
...
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE
}
this.camera.getPicture(options).then((imageData) => {
// imageData is either a base64 encoded string or a file URI
// If it's base64 (DATA_URL):
let base64Image = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
// Handle error
});