mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-01-31 18:49:43 +08:00
parent
10d222dcea
commit
04db233b33
67
src/@ionic-native/plugins/chooser/index.ts
Normal file
67
src/@ionic-native/plugins/chooser/index.ts
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||||
|
|
||||||
|
export interface ChooserResult {
|
||||||
|
data: Uint8Array;
|
||||||
|
dataURI: string;
|
||||||
|
mediaType: string;
|
||||||
|
name: string;
|
||||||
|
uri: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Chooser
|
||||||
|
* @description
|
||||||
|
* File chooser plugin for Cordova.
|
||||||
|
*
|
||||||
|
* The following must be added to config.xml to prevent crashing when selecting large files on Android:
|
||||||
|
* ```xml
|
||||||
|
* <platform name="android">
|
||||||
|
* <edit-config
|
||||||
|
* file="app/src/main/AndroidManifest.xml"
|
||||||
|
* mode="merge"
|
||||||
|
* target="/manifest/application">
|
||||||
|
* <application android:largeHeap="true" />
|
||||||
|
* </edit-config>
|
||||||
|
* </platform>
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```typescript
|
||||||
|
* import { Chooser } from '@ionic-native/chooser';
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* constructor(private chooser: Chooser) { }
|
||||||
|
*
|
||||||
|
* ...
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* this.chooser.getFile()
|
||||||
|
* .then(file => console.log(file ? file.name : 'canceled'))
|
||||||
|
* .catch((error: any) => console.error(error));
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @interfaces
|
||||||
|
* ChooserResult
|
||||||
|
*/
|
||||||
|
@Plugin({
|
||||||
|
pluginName: 'Chooser',
|
||||||
|
plugin: 'cordova-plugin-chooser',
|
||||||
|
pluginRef: 'chooser',
|
||||||
|
repo: 'https://github.com/cyph/cordova-plugin-chooser',
|
||||||
|
platforms: ['Android', 'iOS']
|
||||||
|
})
|
||||||
|
@Injectable()
|
||||||
|
export class Chooser extends IonicNativePlugin {
|
||||||
|
/**
|
||||||
|
* Displays native prompt for user to select a file.
|
||||||
|
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||||
|
* @return {Promise<any>} Promise containing selected file's raw binary data,
|
||||||
|
* base64-encoded data: URI, MIME type, display name, and original URI.
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
getFile(accept: string): Promise<ChooserResult | undefined> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user