Domanda

Devo implementare un caricatore di file basato su Flash, che mi consentirà di caricare più file contemporaneamente e visualizzare i progressi.

ho provato Carica E SwfUpload ed è stato abbastanza facile farli funzionare.

Tuttavia, per entrambi ho riscontrato problemi quando gli utenti tentano di caricare file che hanno nomi di file con caratteri speciali (come il danese æøå o lo svedese ö - e altri ne sono sicuro).

Il file viene caricato correttamente, ma il nome del file è incasinato:

  • malmö.jpg diventa malmö.jpg
  • æblemoster.jpg diventa æblemoster.jpg

Ovviamente ho provato ad alimentare i file nei miei script di caricamento senza utilizzare Flash, e poi funzionano bene.Quindi, da quello che posso dire, gli oggetti di caricamento flash e/o il javascript catturano il file e in qualche modo rovinano il nome del file.

Qualcuno ha riscontrato qualcosa di simile e magari ha un'idea su come posso farlo funzionare come previsto?

È stato utile?

Soluzione

Molto probabilmente l'input SWFObject invia dati codificati UTF8 e lo script sul lato server li gestisce come ISO-8859-1.Per una soluzione rapida (se lavori con PHP sul lato server), prova utf8_decode() sul nome del file in arrivo.

Se fossi in te, penserei semplicemente di filtrare tutte le dieresi e di convertirle nei loro equivalenti non dieresi o "o", "a", "u".Rende la vita più facile.

Altri suggerimenti

Poiché flash viene utilizzato in entrambi i casi, presumo che flash non decodifichi i nomi dei file che legge o codifichi i nomi dei file che pubblica (o entrambi).

sarebbe necessario aprire il file flash .fla per verificare la decodifica/codifica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top