J'ai besoin de télécharger un fichier JPEG de mon application, cependant, lorsque l'utilisateur change le nom du fichier, le fichier sauvegardé sera téléchargé sans extension. Par exemple: J'utilise FileReference.download() et définissez le nom de fichier par défaut en tant que "demoPic.jpg" et l'extension du fichier de contrôle des paramètres système Windows de l'utilisateur n'est pas affichée. Ainsi, lorsque la boîte de dialogue ouvre une fenêtre de téléchargement, seul "demoPic" apparaît comme nom de fichier. Si l'utilisateur a enregistré le fichier sans changer le nom de fichier, le fichier sauvegardé sera OK. Mais si l'utilisateur change de nom de fichier, le fichier de téléchargement sera sauvegardé sans extension. est-il possible d'ajouter l'extension de fichier au nom de fichier lorsque l'utilisateur l'oublie en code flexible?Perdre l'extension lors de l'utilisation FileReference download
Répondre
J'ai le même problème et je n'ai pas réussi à le réparer jusqu'à maintenant. Il semble que ce soit un problème avec flash + windows. :(désolé d'informer mais je ne l'ai pas trouvé de solution.
Si cela peut être appelé une solution de contournement, est en quelque sorte d'avertir les utilisateurs et leur demander de placer aussi l'extension quand ils renommer le fichier.
Had même Problème: utilisé par CONCAT pour ajouter manuellement l'extension.Il n'apparaît pas dans la boîte de dialogue lors de l'enregistrement, mais il est sauvegardé en tant que fichier texte avec une extension .txt dans l'Explorateur Windows.Il ne semble pas fonctionner mais fonctionne réellement!
// Créer du texte à enregistrer à partir du champ de texte var newDataFile: TextField = new TextField(); newDataFile.text = myTextField.text; // créer une référence de fichier pour enregistrer le fichier var fichier: FileReference = new FileReference(); file.save (newDataFile.text, final_filename);
Ceci est un problème connu avec Flash Player. Une demande d'amélioration est déposée auprès d'Adobe. S'il vous plaît visitez et voter pour cela: https://bugs.adobe.com/jira/browse/FP-2014
Il ne semble pas pratique de former les utilisateurs de ne pas renommer le fichier. Voici la solution de contournement que j'utilise pour mon application:
Le problème se produit uniquement sur Windows avec le plug-in ActiveX. Détecter ActiveX avec Capabilities.playerType (seulement ~ 25% des utilisateurs dans mon expérience)
Si le plugin ActiveX, revenez à 'navigateToURL()' pour faire rebondir le fichier sur votre serveur. Utiliser cette fonction est moins souhaitable que FileReference.download() car il est moins contrôlable (le navigateur est responsable, plutôt que votre application), mais il en résulte une boîte de dialogue Enregistrer où l'utilisateur peut renommer le fichier en toute sécurité.
vous devez juste utiliser navigateToUrl (ur)
var ur:URLRequest=new URLRequest();
var fr:FileReference=new FileReference();
fr.download(ur,<FILENAME>);
méthode FileBrowser d'appel "téléchargement" et puis servlet appeler. puis flex ne peut pas attraper extension de fichier
mais "navigateToUrl" appelé servlet premier servlet puis appelez FileBrowser alors html peut attraper l'extension de fichier
protected function downloadImage():void
{
loadImage();
}
public function loadImage():void
{
var NowDate:Date=new Date();
var dateStr:String=String(NowDate.date)+'-'+String(NowDate.month)+'-'+
String(NowDate.fullYear)+' '+String(NowDate.hours)+'-'+String(NowDate.minutes)+'-'+String(NowDate.seconds);
var file:File= File.desktopDirectory.resolvePath('image_'+dateStr);;
file.addEventListener(Event.SELECT,onSelect);
file.browseForSave("Save image");
}
public var filePath:String='';
public var fileName:String='';
public function onSelect(event:Event):void
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadcompleteHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioError);
loader.load(new URLRequest(img_path));
fileName=event.target.name;
filePath=event.target.url;
}
private var _bitmapData:BitmapData;
public function loadcompleteHandler(event:Event):void
{
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
var bitmap:Bitmap = loaderInfo.content as Bitmap;
_bitmapData = bitmap.bitmapData;
var imgByteArray:ByteArray;
var jpegEncoder:JPEGEncoder = new JPEGEncoder(80);
imgByteArray = jpegEncoder.encode(_bitmapData);
var file:File = new File(filePath+'.jpg');
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(imgByteArray);
fileStream.close();
pop.status_text("Photo Downloaded Successfully",1);
}
- 1. Rapidshare premium download (C#)
- 2. .NET Compact Framework SDK download
- 3. méthode de chargement dans FileReference
- 4. FileReference et registerClassAlias
- 5. Cairngorm avec FileReference?
- 6. Perdre la valeur de $ _SESSION [] lors de la redirection
- 7. Perdre les paramètres de contexte Facebook lors de la redirection
- 8. Editer Jeditable sans perdre de styles lors de l'édition?
- 9. Perdre des données lors de l'édition de données modifiables (JSF2)
- 10. Flex FileReference - Bogue FireFox Multipart-Session
- 11. Actualiser UpdatePanel après une boîte de dialogue "File Download" Boîte
- 12. Adobe Air télécharger progress sans FileReference
- 13. passer FileReference entre deux films flash
- 14. Effacement d'eventListeners sur un objet FileReference
- 15. FileReference: Chargement d'un fichier verrouillé Windows
- 16. Flash FileReference Télécharger vers ASP.NET MVC
- 17. Passage d'informations sur un événement FileReference Complete
- 18. Comment lisser une image chargée avec FileReference?
- 19. Google Chrome renomme le fichier .xml en .download
- 20. App perdre connexion db
- 21. Microsoft.SqlServer.Management.Smo.Transfer() perdre des contraintes
- 22. zend framework perdre session
- 23. Composant de fichier flex upload - Problèmes avec Filereference
- 24. perdre ma chaîne
- 25. XDocument.Load perdre Déclaration
- 26. Valgrind perdre info symbole
- 27. java - perdre le focus
- 28. JavaScript perdre focus
- 29. validation CakePHP perdre paramètres
- 30. Perdre ActiveCell.Value lors de la fermeture de TextBox à partir de quelle valeur copiée
Merci pour votre réponse, Pirvulescu. Ce que je peux faire est d'ajouter une vérification ici, et d'avertir l'utilisateur d'entrer le nom de fichier complet avec l'extension. Je cherche un moyen plus confortable que l'ajout automatique de l'extension de fichier.Quelqu'un peut-il suggérer comment cela peut être fait? – xuchen