zhuxc 0f80faa4c0 init erp_h5 | 7 years ago | |
---|---|---|
.. | ||
README.md | 7 years ago | |
index.md | 7 years ago |
Documentazione plugin:
Questo plugin permette di caricare e scaricare file.
Questo plugin definisce globale FileTransfer
, costruttori di FileUploadOptions
.
Anche se in ambito globale, non sono disponibili fino a dopo l'evento deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(FileTransfer);
}
cordova plugin add cordova-plugin-file-transfer
\ * *Non supportano onprogress
né abort()
*
\ * * *Non supportano onprogress
*
L'oggetto FileTransfer
fornisce un modo per caricare i file utilizzando una richiesta HTTP multiparte POST o PUT e scaricare file pure.
ProgressEvent
ogni volta che un nuovo blocco di dati viene trasferito. (Funzione)caricare: invia un file a un server.
Scarica: Scarica un file dal server.
Abort: interrompe un trasferimento in corso.
Parametri:
fileURL: Filesystem URL che rappresenta il file nel dispositivo. Per indietro la compatibilità, questo può anche essere il percorso completo del file sul dispositivo. (Vedere [indietro compatibilità rileva] qui sotto)
server: URL del server per ricevere il file, come codificato dalencodeURI()
.
successCallback: un callback che viene passato un oggetto FileUploadResult
. (Funzione)
errorCallback: un callback che viene eseguito se si verifica un errore di recupero FileUploadResult
. Richiamato con un oggetto FileTransferError
. (Funzione)
opzioni: parametri facoltativi (oggetto). Chiavi valide:
file
. (DOMString)image.jpg
. (DOMString)PUT
o POST
. Impostazioni predefinite per POST
. (DOMString)image/jpeg
. (DOMString)true
. (Boolean)POST
. (DOMString)trustAllHosts: parametro opzionale, valore predefinito è false
. Se impostata su true
, accetta tutti i certificati di sicurezza. Questo è utile poiché Android respinge i certificati autofirmati sicurezza. Non raccomandato per uso in produzione. Supportato su Android e iOS. (boolean)
// !! Assumes variable fileURL contains a valid URL to a text file on the device,
// for example, cdvfile://localhost/persistent/path/to/file.txt
var win = function (r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
var fail = function (error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "text/plain";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI("http://some.server.com/upload.php"), win, fail, options);
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
var uri = encodeURI("http://some.server.com/upload.php");
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=fileURL.substr(fileURL.lastIndexOf('/')+1);
options.mimeType="text/plain";
var headers={'headerParam':'headerValue'};
options.headers = headers;
var ft = new FileTransfer();
ft.onprogress = function(progressEvent) {
if (progressEvent.lengthComputable) {
loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
} else {
loadingStatus.increment();
}
};
ft.upload(fileURL, uri, win, fail, options);
Un oggetto FileUploadResult
viene passato al metodo di callback del metodo upload()
dell'oggetto FileTransfer
successo.
bytesSent: il numero di byte inviati al server come parte dell'upload. (lungo)
responseCode: codice di risposta HTTP restituito dal server. (lungo)
risposta: risposta HTTP restituito dal server. (DOMString)
intestazioni: intestazioni di risposta HTTP dal server. (Oggetto)
responseCode
obytesSent
.Parametri:
fonte: URL del server per scaricare il file, come codificato dalencodeURI()
.
destinazione: Filesystem url che rappresenta il file nel dispositivo. Per indietro la compatibilità, questo può anche essere il percorso completo del file sul dispositivo. (Vedere [indietro compatibilità rileva] qui sotto)
successCallback: un callback passato un FileEntry
oggetto. (Funzione)
errorCallback: un callback che viene eseguito se si verifica un errore durante il recupero FileEntry
. Richiamato con un oggetto FileTransferError
. (Function)
trustAllHosts: parametro opzionale, valore predefinito è false
. Se impostata su true
, accetta tutti i certificati di sicurezza. Questo è utile perché Android respinge i certificati autofirmati sicurezza. Non raccomandato per uso in produzione. Supportato su Android e iOS. (boolean)
opzioni: parametri facoltativi, attualmente solo supporti intestazioni (ad esempio autorizzazione (autenticazione di base), ecc.).
// !! Assumes variable fileURL contains a valid URL to a path on the device,
// for example, cdvfile://localhost/persistent/path/to/downloads/
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");
fileTransfer.download(
uri,
fileURL,
function(entry) {
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
},
false,
{
headers: {
"Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
}
}
);
if-Modified-Since
intestazione per metodo di download.Interrompe un trasferimento in corso. Il callback onerror viene passato un oggetto FileTransferError che presenta un codice di errore di FileTransferError.ABORT_ERR.
// !! Assumes variable fileURL contains a valid URL to a text file on the device,
// for example, cdvfile://localhost/persistent/path/to/file.txt
var win = function(r) {
console.log("Should not be called.");
}
var fail = function(error) {
// error.code == FileTransferError.ABORT_ERR
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName="myphoto.jpg";
options.mimeType="image/jpeg";
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI("http://some.server.com/upload.php"), win, fail, options);
ft.abort();
Un oggetto FileTransferError
viene passato a un callback di errore quando si verifica un errore.
codice: uno dei codici di errore predefiniti elencati di seguito. (Numero)
fonte: URL all'origine. (String)
destinazione: URL di destinazione. (String)
http_status: codice di stato HTTP. Questo attributo è disponibile solo quando viene ricevuto un codice di risposta della connessione HTTP. (Numero)
body Corpo della risposta. Questo attributo è disponibile solo quando viene ricevuta una risposta dalla connessione HTTP. (String)
exception: O e.getMessage o e.toString (String)
FileTransferError.FILE_NOT_FOUND_ERR
FileTransferError.INVALID_URL_ERR
FileTransferError.CONNECTION_ERR
FileTransferError.ABORT_ERR
FileTransferError.NOT_MODIFIED_ERR
Versioni precedenti di questo plugin accetterebbe solo dispositivo-assoluto-percorsi di file come origine per upload, o come destinazione per il download. Questi percorsi si sarebbero generalmente di forma
/var/mobile/Applications/<application UUID>/Documents/path/to/file (iOS)
/storage/emulated/0/path/to/file (Android)
Per indietro compatibilità, questi percorsi sono ancora accettati, e se l'applicazione ha registrato percorsi come questi in un archivio permanente, quindi possono continuare a essere utilizzato.
Questi percorsi sono stati precedentemente esposti nella proprietà fullPath
di FileEntry
e oggetti DirectoryEntry
restituiti dal File plugin. Nuove versioni del File plugin, tuttavia, non è più espongono questi percorsi a JavaScript.
Se si esegue l'aggiornamento a una nuova (1.0.0 o più recente) versione del File e si hanno precedentemente utilizzato entry.fullPath
come argomenti per download()
o upload()
, quindi sarà necessario cambiare il codice per utilizzare gli URL filesystem invece.
FileEntry.toURL()
e DirectoryEntry.toURL()
restituiscono un filesystem URL del modulo
cdvfile://localhost/persistent/path/to/file
che può essere utilizzato al posto del percorso assoluto nei metodi sia download()
e upload()
.