このドキュメントでは、H5 アプリケーションおよびミニプログラムの開発に使用される WVFile クラスの JSAPI について説明します。WVFile JSAPI は、ファイルの書き込み、読み取り、情報取得、ダウンロード、アップロードを行うためのメソッドを提供します。
WVFile.write
指定されたコンテンツをディスク上のファイルに書き込みます。
パラメーター
[
string] mode:ファイル書き込みモード。write:ファイルに書き込みます。ファイルが存在しない場合、WindVane によって作成されます。ファイルが既に存在する場合、WindVane はerror:FILE_EXISTを返します。append:ファイルの末尾にコンテンツを追加します。ファイルが存在しない場合、WindVane によって作成されます。overwrite:ファイルを上書きします。ファイルが存在しない場合、WindVane によって作成されます。ファイルが既に存在する場合、そのコンテンツは上書きされます。
[
string] data:ファイルに書き込むコンテンツ。ファイルはWindVane キャッシュファイルパス/fileNameに保存されます。パスが存在しない場合は自動的に作成されます。[
string] fileName:ファイル名。ファイルが存在しない場合は自動的に作成されます。ファイル名に「/」を含めることはできません。[
string] share:ファイルを共有できるかどうかを指定します。
コールバックパラメーター
ファイルの書き込みに成功した場合、success コールバックが呼び出されます。それ以外の場合は、failure コールバックが呼び出されます。
var params = {
mode: 'overwrite',
data: 'Hello World!!!\n',
fileName: 'testFile.txt',
share: 'false'
};
function writeFile () {
window.WindVane.call('WVFile', 'write', params, function(e) {
alert('success: ' + JSON.stringify(e));
}, function(e) {
alert('failure: ' + JSON.stringify(e));
});
}
WVFile.read
指定されたファイルの内容を読み取ります。
パラメーター
[
string] fileName:読み取るファイルの名前。ファイル名に「/」を含めることはできません。ファイルはWindVane キャッシュファイルパス/fileNameに保存されます。パスが存在しない場合、WindVane はerror:PATH_NOT_FOUNDを返します。ファイルが存在しない場合、WindVane はerror:FILE_NOT_FOUNDを返します。
コールバックパラメーター
ファイルの読み取りに成功した場合、success コールバックが呼び出されます。それ以外の場合は、failure コールバックが呼び出されます。
[
string] data:ファイルから読み取られたコンテンツ。
var params = {
fileName: 'testFile.txt',
share: 'false'
};
function readFile () {
window.WindVane.call('WVFile', 'read', params, function(e) {
success(JSON.stringify(e));
}, function(e) {
failure(JSON.stringify(e));
});
}
WVFile.getFileInfo
この API は、Android 版 WindVane 1.0.3.4 以降でのみ利用可能です。
ファイルに関する情報を取得します。
パラメーター
[
string] filePath:ファイルパス。
コールバックパラメーター
成功コールバックパラメーター:
[
string] fileSize:ファイルサイズ。
失敗コールバックパラメーター:
[
string] msg:エラーメッセージ。
ファイル情報の取得に成功した場合、success コールバックが呼び出されます。それ以外の場合は、failure コールバックが呼び出されます。
var params = {
filePath: '/storage/emulated/0/Android/data/xxx/testFile.txt',
};
function readFile () {
window.WindVane.call('WVFile', 'getFileInfo', params, function(e) {
success(JSON.stringify(e));
}, function(e) {
failure(JSON.stringify(e));
});
}WVFile.downloadFile
この API は、Android 版 WindVane 1.0.3.4 以降でのみ利用可能です。
指定された URL からファイルをダウンロードします。
パラメーター
[
string] url:ダウンロードするファイルの URL。[
string] name:任意。ダウンロードされたファイルの名前。デフォルト値は「timestamp_windvane」です。ダウンロードごとに名前を指定することを推奨します。
コールバックパラメーター
成功コールバックパラメーター:
[
string] filePath:ダウンロードされたファイルのローカルファイルパス。
失敗コールバックパラメーター:
[
string] msg:エラーメッセージ。
イベントリスナー
WVFile.Event.downloadFileSuccess
ファイルのダウンロードが成功したときにトリガーされます。
イベントパラメーター:
[
string] filePath:ダウンロードされたファイルのローカルファイルパス。
WVFile.Event.downloadFileFailed
ファイルのダウンロードが失敗したときにトリガーされます。
[
string] msg:エラーメッセージ。
document.addEventListener('WVFile.Event.downloadFileSuccess', function (e) {
alert('event downloadFileSuccess: ' + JSON.stringify(e.param));
});
document.addEventListener('WVFile.Event.downloadFileFailed', function (e) {
alert('event downloadFileFailed: ' + JSON.stringify(e.param));
});
var params = {
url: 'http://xxxx',
name: 'test.mp4'
};
window.WindVane.call('WVFile', 'downloadFile', params, function(e) {
alert('downloadFile success: ' + JSON.stringify(e));
}, function(e) {
alert('downloadFile failure: ' + JSON.stringify(e));
});WVFile.uploadFile
この API は、Android 版 WindVane 1.0.3.4 以降でのみ利用可能です。
指定されたサーバー URL にファイルをアップロードします。
パラメーター
[
string] url:ファイルをアップロードするサーバー URL。[
string] filePath:アップロードするファイルのローカルパス。アプリケーションには、このパスに対する読み取り権限が必要です。この権限が付与されていない場合、アップロードは失敗します。[
int] timeout:任意。タイムアウト (ミリ秒単位)。デフォルト値は 6000 です。[
object] headers:任意。アップロード用のリクエストヘッダー。
コールバックパラメーター
成功コールバックパラメーター:
[
string] data:アップロード成功後にサーバーから返されるデータ。[
string] headers:アップロード成功後にサーバーから返されるヘッダー。
失敗コールバックパラメーター:
[
string] msg:エラーメッセージ。アップロード中にエラーが発生した場合、このパラメーターは次のフィールドを含む JSON 文字列です。[
int] code:HTTP ステータスコード。[
string] data:サーバーから返されるデータ。[
string] headers:サーバーから返されるヘッダー。
イベントリスナー
WVFile.Event.uploadFileSuccess
ファイルのアップロードが成功したときにトリガーされます。
イベントパラメーター:
[
string] data:アップロード成功後にサーバーから返されるデータ。[
string] headers:アップロード成功後にサーバーから返されるヘッダー。
WVFile.Event.uploadFileFailed
ファイルのアップロードが失敗したときにトリガーされます。
[
string] msg:エラーメッセージ。アップロード中にエラーが発生した場合、このパラメーターは次のフィールドを含む JSON 文字列です。[
int] code:HTTP ステータスコード。[
string] data:サーバーから返されるデータ。[
string] headers:サーバーから返されるヘッダー。
document.addEventListener('WVFile.Event.uploadFileSuccess', function (e) {
alert('event uploadFileSuccess: ' + JSON.stringify(e.param));
});
document.addEventListener('WVFile.Event.uploadFileFailed', function (e) {
alert('event uploadFileFailed: ' + JSON.stringify(e.param));
});
var params = {
url: 'http://xxxx',
filePath: '/storage/test.txt',
timeout: 8000,
headers: {
xxx: 'xxx'
}
};
window.WindVane.call('WVFile', 'uploadFile', params, function(e) {
alert('uploadFile success: ' + JSON.stringify(e));
}, function(e) {
alert('uploadFile failure: ' + JSON.stringify(e));
});WVFile.chooseFiles
この API は、以下のバージョンでのみ利用可能です。
Android: windvane-mini-app 1.6.6 以降、mini-app-adapter 1.5.8 以降。
iOS: EMASWindVaneMiniApp 1.0.9 以降。
ファイルピッカーを開き、ローカルファイルを選択します。
パラメーター
なし
コールバックパラメーター
成功コールバックパラメーター:
成功コールバック関数は、次のプロパティを持つオブジェクトを受け取ります。
パラメーター | 型 | 必須 | 値の例 | 説明 |
files | array | はい | 選択された各ファイルを表すオブジェクトの配列。 |
files 配列の各オブジェクトには、次のプロパティがあります。
パラメーター | 型 | 必須 | 値の例 | 説明 |
path | string | はい | 選択されたファイルのローカルパス。 |
失敗コールバックパラメーター:
パラメーター | 型 | 必須 | 値の例 | 説明 |
msg | string | はい | 失敗の理由。 |
以下にコード例を示します。
window.WindVane.call(
'WVFile',
'chooseFiles',
{},
function(response) {
const files = response.files;
alert("open success: " + JSON.stringify(files));
}, function(e) {
alert("open fail: " + JSON.stringify(e));
}
);WVFile.getDataByFilePath
この API は、以下のバージョンでのみ利用可能です。
Android: windvane-mini-app 1.6.6 以降、mini-app-adapter 1.5.8 以降。
iOS: EMASWindVaneMiniApp 1.0.9 以降。
ローカルファイルの Base64 エンコードされたデータを取得します。
パラメーター
パラメーター | 型 | 必須 | 値の例 | 説明 |
path | string | はい | /download/dingding/0/1.png | ローカルファイルパス。 |
コールバックパラメーター
成功コールバックパラメーター:
パラメーター | 型 | 必須 | 値の例 | 説明 |
base64Data | string | はい | iVBORw0KGgoAAAANSUhEUgAAAAUA.. | ファイルの Base64 エンコードされたデータ。 |
失敗コールバックパラメーター:
パラメーター | 型 | 必須 | 値の例 | 説明 |
msg | string | はい | 失敗の理由。 |
以下にコード例を示します。
window.WindVane.call('WVFile', 'getDataByFilePath', { path: '/download/dingding/0/1.png' }, function(data) {
const base64Data = data.base64Data;
alert('getDataByFilePath success: ' + JSON.stringify(data.base64Data));
// 独自のロジックを実装して、formData をバックエンドサービスに送信し、ファイルを保存します。
...
...
}, function(error) {
alert('getDataByFilePath failure: ' + JSON.stringify(error));
});