Documentation du plugin :
Ce plugin vous permet de télécharger des fichiers.
Ce plugin définit global FileTransfer
, FileUploadOptions
constructeurs.
Bien que dans la portée globale, ils ne sont pas disponibles jusqu'après la deviceready
événement.
document.addEventListener (« deviceready », onDeviceReady, false) ;
function onDeviceReady() {console.log(FileTransfer);}
cordova plugin add cordova-plugin-file-transfer
\ * *Ne supportent pas onprogress
ni abort()
*
\ ** *Ne prennent pas en charge les onprogress
*
L'objet de FileTransfer
fournit un moyen de télécharger des fichiers à l'aide d'une requête HTTP multi-part POST ou PUT et pour télécharger des fichiers.
ProgressEvent
à chaque fois qu'un nouveau segment de données est transféré. (Function)upload : envoie un fichier à un serveur.
download : télécharge un fichier depuis un serveur.
abort : annule le transfert en cours.
Paramètres:
fileURL : système de fichiers URL représentant le fichier sur le périphérique. Pour la compatibilité ascendante, cela peut aussi être le chemin complet du fichier sur le périphérique. (Voir [Backwards Compatibility Notes] ci-dessous)
server : l'URL du serveur destiné à recevoir le fichier, encodée via encodeURI()
.
successCallback: un rappel passé un FileUploadResult
objet. (Fonction)
errorCallback: un rappel qui s'exécute si une erreur survient récupérer la FileUploadResult
. Appelée avec un FileTransferError
objet. (Fonction)
options: paramètres facultatifs (objet). Clés valides :
file
. (DOMString)image.jpg
. (DOMString)PUT
ou POST
. Valeur par défaut est POST
. (DOMString)image/jpeg
. (DOMString)true
. (Boolean)message
. (DOMString)trustAllHosts: paramètre facultatif, valeur par défaut est false
. Si la valeur est true
, il accepte tous les certificats de sécurité. Ceci est utile car Android rejette des certificats auto-signés. N'est pas recommandé pour une utilisation en production. Supporté sur Android et iOS. (booléen)
// !! Suppose fileURL variable contient une URL valide dans un fichier texte sur le périphérique, / / par exemple, cdvfile://localhost/persistent/path/to/file.txt var win = function (r) {console.log ("Code =" + r.responseCode) ;
Console.log ("réponse =" + r.response) ;
Console.log ("envoyés =" + r.bytesSent);}
échouer var = function (erreur) {alert ("une erreur est survenue : Code =" + error.code) ;
Console.log (« source de l'erreur de téléchargement » + error.source) ;
Console.log ("erreur de téléchargement cible" + error.target);}
options de var = new FileUploadOptions() ;
options.fileKey = « fichier » ;
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1) ;
options.mimeType = « text/plain » ;
var params = {} ;
params.value1 = « test » ;
params.Value2 = « param » ;
options.params = params ;
ft var = 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 ("réponse =" + r.response) ;
Console.log ("envoyés =" + r.bytesSent);}
function fail(error) {alert ("une erreur est survenue : Code =" + error.code) ;
Console.log (« source de l'erreur de téléchargement » + error.source) ;
Console.log ("erreur de téléchargement cible" + error.target);}
var uri = encodeURI ("http://some.server.com/upload.php") ;
options de var = new FileUploadOptions() ;
options.fileKey="file" ;
options.fileName=fileURL.substr(fileURL.lastIndexOf('/')+1) ;
options.mimeType="text/plain" ;
en-têtes var ={'headerParam':'headerValue'} ;
options.Headers = en-têtes ;
ft var = new FileTransfer() ;
ft.OnProgress = function(progressEvent) {si (progressEvent.lengthComputable) {loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total) ;
} else {loadingStatus.increment() ;
}
};
ft.upload (fileURL, uri, win, fail, options) ;
A FileUploadResult
objet est passé au rappel de succès la FileTransfer
de l'objet upload()
méthode.
bytesSent : le nombre d'octets envoyés au serveur dans le cadre du téléchargement. (long)
responseCode : le code de réponse HTTP retourné par le serveur. (long)
response : la réponse HTTP renvoyée par le serveur. (DOMString)
en-têtes : en-têtes de réponse HTTP par le serveur. (Objet)
responseCode
et bytesSent
.Paramètres:
source : l'URL du serveur depuis lequel télécharger le fichier, encodée via encodeURI()
.
target : système de fichiers url représentant le fichier sur le périphérique. Pour la compatibilité ascendante, cela peut aussi être le chemin complet du fichier sur le périphérique. (Voir [Backwards Compatibility Notes] ci-dessous)
successCallback : une callback de succès à laquelle est passée un objet FileEntry
. (Function)
errorCallback: un rappel qui s'exécute si une erreur se produit lors de la récupération du FileEntry
. Appelée avec un FileTransferError
objet. (Fonction)
trustAllHosts: paramètre facultatif, valeur par défaut est false
. Si la valeur est true
, il accepte tous les certificats de sécurité. Ceci peut être utile car Android rejette les certificats auto-signés. N'est pas recommandé pour une utilisation en production. Supporté sur Android et iOS. (booléen)
options : paramètres facultatifs, seules les en-têtes sont actuellement supportées (par exemple l'autorisation (authentification basique), etc.).
// !! Suppose fileURL variable contient une URL valide vers un chemin d'accès sur le périphérique, / / par exemple, transfert de fichiers var cdvfile://localhost/persistent/path/to/downloads/ = new FileTransfer() ;
var uri = encodeURI ("http://some.server.com/download.php") ;
fileTransfer.download (uri, fileURL, function(entry) {console.log ("téléchargement complet:" + entry.toURL()) ;
}, function(error) {console.log (« source de l'erreur de téléchargement » + error.source) ;
Console.log (« erreur de téléchargement cible » + error.target) ;
Console.log (« code d'erreur de téléchargement » + error.code) ;
}, faux, {en-têtes: {« Autorisation »: « dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA base == "}}) ;
if-Modified-Since
en-tête Télécharger méthode.Abandonne un transfert en cours. Le rappel onerror est passé à un objet FileTransferError qui a un code d'erreur de FileTransferError.ABORT_ERR.
// !! Suppose fileURL variable contient une URL valide dans un fichier texte sur le périphérique, / / par exemple, cdvfile://localhost/persistent/path/to/file.txt var win = function(r) {console.log ("ne devrait pas être appelée.");}
var fail = function(error) {/ / error.code == FileTransferError.ABORT_ERR alert ("une erreur est survenue : Code =" + error.code) ;
Console.log (« source de l'erreur de téléchargement » + error.source) ;
Console.log ("erreur de téléchargement cible" + error.target);}
options de var = new FileUploadOptions() ;
options.fileKey="file" ;
options.fileName="myphoto.jpg" ;
options.mimeType="image/jpeg" ;
ft var = new FileTransfer() ;
ft.upload (fileURL, encodeURI ("http://some.server.com/upload.php"), win, fail, options) ;
ft.Abort() ;
A FileTransferError
objet est passé à un rappel d'erreur lorsqu'une erreur survient.
code : l'un des codes d'erreur prédéfinis énumérés ci-dessous. (Number)
source : l'URI de la source. (String)
target: l'URI de la destination. (String)
http_status : code d'état HTTP. Cet attribut n'est disponible que lorsqu'un code de réponse est fourni via la connexion HTTP. (Number)
corps Corps de réponse. Cet attribut n'est disponible que lorsqu'une réponse est reçue de la connexion HTTP. (String)
exception: soit e.getMessage ou e.toString (String)
FileTransferError.FILE_NOT_FOUND_ERR
FileTransferError.INVALID_URL_ERR
FileTransferError.CONNECTION_ERR
FileTransferError.ABORT_ERR
FileTransferError.NOT_MODIFIED_ERR
Les versions précédentes de ce plugin n'accepterait périphérique--fichier-chemins d'accès absolus comme source pour les téléchargements, ou comme cible pour les téléchargements. Ces chemins seraient généralement de la forme
/ var/mobile/Applications/< application UUID >/Documents/chemin/vers/fichier (iOS), /storage/emulated/0/path/to/file (Android)
Pour vers l'arrière la compatibilité, ces chemins sont toujours acceptés, et si votre application a enregistré des chemins comme celles-ci dans un stockage persistant, alors ils peuvent continuer à être utilisé.
Ces chemins ont été précédemment exposés dans le fullPath
propriété de FileEntry
et DirectoryEntry
les objets retournés par le fichier plugin. Nouvelles versions du fichier plugin, cependant, ne plus exposent ces chemins à JavaScript.
Si vous migrez vers une nouvelle (1.0.0 ou plus récent) version de fichier et vous avez précédemment utilisé entry.fullPath
comme arguments à download()
ou upload()
, alors vous aurez besoin de modifier votre code pour utiliser le système de fichiers URL au lieu de cela.
FileEntry.toURL()
et DirectoryEntry.toURL()
retournent une URL de système de fichiers du formulaire
cdvfile://localhost/persistent/path/to/file
qui peut être utilisé à la place le chemin d'accès absolu au fichier dans les deux download()
et upload()
méthodes.