Extjs - télécharger le fichier à l'aide de filefield
Mon extjs code comme http://www.objis.com/formationextjs/lib/extjs-4.0.0/docs/api/Ext.form.field.File.html
Ext.create('Ext.form.Panel', {
title: 'Upload a Photo',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: Ext.getBody(),
items: [{
xtype: 'filefield',
name: 'photo',
fieldLabel: 'Photo',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: 'Select Photo...'
}],
buttons: [{
text: 'Upload',
handler: function() {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'photo-upload.php',
waitMsg: 'Uploading your photo...',
success: function(fp, o) {
Ext.Msg.alert('Success', 'Your photo "' + o.result.file + '" has been uploaded.');
}
});
}
}
}]
});
mon photo-upload.php fichier
echo "{success:true}";
Mais quand le succès de o.résultat.fichier show undefined. Je pense qu'il va montrer nom du fichier après le succès.
Comment puis-je la faire apparaître nom du fichier après le succès grâce
OriginalL'auteur freestyle | 2013-06-20
Vous devez vous connecter pour publier un commentaire.
Vous êtes juste de retour
"{success:true}"
qui n'est même pas JSON valide mais attendez ExtJS pour vous donner encore plus de données?Essayez de retour JSON comme
de sorte qu'il y est une propriété de fichier dans le résultat que le client peut lire.
Vous êtes les bienvenus 😉
J'ai fait ceci: $result = array( 'success' => 'true', 'dossier' => " nom de fichier.ext' ); $x= json_encode($result); echo $x;
OriginalL'auteur sra
il suffit de retourner la bonne json construction d'eval en front-end.
Pour afficher le nom de fichier comme un message, u n'avez pas besoin de retourner la valeur de backend, déjà disponible avec vous. consultez ci-dessous le code
var fileUploadComp = //par exemple: Ext.getCmp('DictUploadField');
var fileName = fileUploadComp.getValue();
lieu ce
fileName
dans votre message.Grâce.
OriginalL'auteur Hariharan
Remarque: serveur type de réponse doit être "text/html".
Démo Live est ici
OriginalL'auteur khmurach