全部产品
Search
文档中心

SuperApp:File

更新时间:Jun 28, 2025

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 kesalahan error:FILE_EXIST akan 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 kesalahan error:PATH_NOT_FOUND dikembalikan. Jika file tidak ada, pesan kesalahan error:FILE_NOT_FOUND dikembalikan.

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

Catatan

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

Catatan

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

Catatan

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

Catatan

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

Catatan

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));
});