Topik ini menjelaskan API JavaScript dari WVFile. Anda dapat merujuk ke topik ini saat membuat aplikasi HTML5 atau MiniApps. API JavaScript dari WVFile menyediakan kemampuan untuk membaca konten file, menulis konten ke file, mendapatkan informasi tentang file, mengunduh file, dan mengunggah file.
WVFile.write
Menulis konten ke file tertentu di disk.
Parameter Input
[
string] mode: Mode penulisan konten.write: Menentukan untuk menulis konten ke file baru. Jika file tidak ada, file akan dibuat secara otomatis. Jika file sudah ada, pesan kesalahanerror:FILE_EXISTakan dikembalikan.append: Menentukan untuk menambahkan konten ke akhir file. Jika file tidak ada, file akan dibuat secara otomatis.overwrite: Menentukan untuk menimpa file. Jika file tidak ada, file akan dibuat secara otomatis. Jika file sudah ada, file akan ditimpa.
[
string] data: Konten yang ditulis. Tentukan jalur file dalam format berikut:Jalur file WindVane yang di-cache/namaFile. Jika jalur tidak ada, jalur akan dibuat secara otomatis.[
string] fileName: Nama file. Jika file tidak ada, file akan dibuat secara otomatis. Nama file tidak boleh mengandung garis miring (/).[
string] share: Menentukan apakah file akan dibagikan.
Parameter Callback
Parameter callback dilewatkan ke metode callback. Jika konten berhasil ditulis ke file, callback success dipanggil. Sebaliknya, callback failure dipanggil.
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
Membaca konten file tertentu.
Parameter Input
[
string] fileName: Nama file yang dibaca. Nama file tidak boleh mengandung garis miring (/). Tentukan jalur file dalam format berikut:Jalur file WindVane yang di-cache/namaFile. Jika jalur tidak ada, pesan kesalahanerror:PATH_NOT_FOUNDdikembalikan. Jika file tidak ada, pesan kesalahanerror:FILE_NOT_FOUNDdikembalikan.
Parameter Callback
Parameter callback dilewatkan ke metode callback. Jika file berhasil dibaca, callback success dipanggil. Sebaliknya, callback failure dipanggil.
[
string] data: Konten file tertentu.
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 ini hanya tersedia di WindVane Android 1.0.X.X atau lebih baru, WindVane iOS 2.1.4 atau lebih baru.
Memperoleh informasi tentang file.
Parameter Input
[
string] filePath: Jalur file.
Parameter Callback
Parameter untuk callback sukses:
[
string] fileSize: Ukuran file.
Parameter untuk callback gagal:
[
string] msg: Pesan kesalahan.
Jika informasi file diperoleh, callback success dipanggil. Sebaliknya, callback failure dipanggil.
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 ini hanya tersedia di WindVane Android 1.0.X.X atau lebih baru, WindVane iOS 2.1.4 atau lebih baru.
Mengunduh file dari URL tertentu.
Parameter Input
[
string] url: URL unduhan file.[
string] name: Nama file setelah file diunduh. Nama default adalah timestamp_windvane. Kami merekomendasikan Anda menentukan nama selama setiap unduhan. Parameter ini opsional.
Parameter Callback
Parameter untuk callback sukses:
[
string] filePath: Jalur penyimpanan lokal file setelah file diunduh.
Parameter untuk callback gagal:
[
string] msg: Pesan kesalahan.
Pemantauan Event
WVFile.Event.downloadFileSuccess
File telah diunduh.
Parameter event:
[
string] filePath: Jalur penyimpanan lokal file setelah file diunduh.
WVFile.Event.downloadFileFailed
File gagal diunduh.
[
string] msg: Pesan kesalahan.
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 ini hanya tersedia di WindVane Android 1.0.X.X atau lebih baru, WindVane iOS 2.1.4 atau lebih baru.
Unggah file ke URL server tertentu.
Parameter Input
[
string] url: URL unggah file.[
string] filePath: Jalur penyimpanan file lokal yang akan diunggah. Pastikan aplikasi memiliki izin baca pada file di jalur ini. Jika aplikasi tidak memiliki izin tersebut, file tidak akan diunggah.[
int] timeout: Periode timeout. Nilai default: 6. Unit: detik. Parameter ini opsional.[
object] headers: Header permintaan unggah.
Parameter Callback
Parameter untuk callback sukses:
[
string] data: Data yang dikembalikan oleh server setelah file diunggah.[
string] headers: Header yang dikembalikan oleh server setelah file diunggah.
Parameter untuk callback gagal:
[
string] msg: Pesan kesalahan. Jika terjadi kesalahan selama proses unggah, nilai msg adalah string JSON yang berisi informasi berikut:[
int] code: Kode status HTTP.[
string] data: Data yang dikembalikan oleh server.[
string] headers: Header yang dikembalikan oleh server.
Pemantauan Event
WVFile.Event.uploadFileSuccess
File telah diunggah.
Parameter event:
[
string] data: Data yang dikembalikan oleh server setelah file diunggah.[
string] headers: Header yang dikembalikan oleh server setelah file diunggah.
WVFile.Event.uploadFileFailed
File gagal diunggah.
[
string] msg: Pesan kesalahan. Jika terjadi kesalahan selama proses unggah, nilai msg adalah string JSON yang berisi informasi berikut:[
int] code: Kode status HTTP.[
string] data: Data yang dikembalikan oleh server.[
string] headers: Header yang dikembalikan oleh server.
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 ini hanya valid di versi berikut.
Android: windvane-mini-app >= 1.6.6, mini-app-adapter >= 1.5.8
iOS: EMASWindVaneMiniApp >= 1.0.9
Pilih dan unggah file lokal.
Parameter Input
Tidak ada
Parameter Callback
Parameter Callback Sukses:
Fungsi callback akan menerima array data. Kunci dalam array adalah path, dan nilainya adalah jalur lokal file yang dipilih.
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
files | Array | Ya | Pilih koleksi jalur lokal file |
Atribut files dijelaskan sebagai berikut:
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
path | string | Ya | jalur lokal file yang dipilih |
Parameter Callback Gagal:
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
msg | string | Ya | Alasan gagal |
Kode Contoh:
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 ini hanya valid di versi berikut.
Android: windvane-mini-app >= 1.6.6, mini-app-adapter >= 1.5.8
iOS: EMASWindVaneMiniApp >= 1.0.9
Dapatkan data file lokal.
Parameter Input
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
path | string | /download/dingding/0/1.png | Jalur file lokal |
Parameter Callback
Parameter Callback Sukses:
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
base64Data | string | Ya | iVBORw0KGgoAAAANSUhEUgAAAAUA.. | Data base64 file |
Parameter Callback Gagal:
Nama | Tipe | Wajib | Contoh Nilai | Deskripsi |
msg | string | Ya | Alasan gagal |
Kode Contoh:
window.WindVane.call('WVFile', 'getDataByFilePath', { path: '/download/dingding/0/1.png' }, function(data) {
const base64Data = data.base64Data;
alert('getDataByFilePath success: ' + JSON.stringify(data.base64Data));
// Implementasikan logika untuk mengirim file ke layanan backend untuk penyimpanan file
...
...
}, function(error) {
alert('getDataByFilePath failure: ' + JSON.stringify(error));
});