[Foto upload] Werkt niet in IE, wel in FF

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Topicstarter
Ik ben de afgelopen paar weken bezig geweest met het maken van een site voor een makelaar. Deze wil de mogelijkheid hebben om foto's te kunnen uploaden van de huizen die hij weergeeft op zijn site. Geen probleem...dacht ik.

Ik heb een formuliertje gemaakt:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        <form name="fotoform" action="/cmsadmin/aanbod/wijzigen/pic/12" method="post" enctype="multipart/form-data">
            <table border="0" cellspacing="0" cellpadding="3">
                <tr>
                    <th colspan="2">Foto's toevoegen</th>
                </tr>
                <tr>
                    <td align="right">Foto toevoegen:</td>
                    <td align="left"><input name="foto1" type="file" value="" size="37" /></td>
                </tr>
                .......
                <tr>
                    <td align="right">Foto toevoegen:</td>
                    <td align="left"><input name="foto5" type="file" value="" size="37" /></td>
                </tr>
                <tr>
                    <td colspan="2" align="center"><input name="submit" type="submit" value="Toevoegen" /></td>
                </tr>
            </table>
        </form>

Nu is het zo, dat dit in Firefox netjes werkt. De foto's worden netjes doorgegeven aan mijn script, en of het er nou 1 of 5 zijn, dat maakt niet uit, alles wordt netjes verwerkt. Internet Explorer, echter, heeft er geen zin in. Ik probeer dezelfde foto's te versturen die in Firefox werkten. De foto lijkt geupload te worden, aan de tijdsduur te zien die het in beslag neemt. Maar vervolgens krijg ik allerlei errors van de GD-functies die ik gebruikt heb (in PHP), die me vertellen dat ik geen geldige image resource heb meegegeven, wat mij dus weer laat vermoeden dat het plaatje niet goed is aangekomen.

Ik gebruik in het script $_FILES['foto1']['tmp_name'], die ik open, en 3x resize naar de goeie formaten. Zou het kunnen dat IE deze variabele niet instelt? (Lijkt me sterk eerlijk gezegd.) Of zie ik iets anders over het hoofd?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Waarom staat er eigenlijk een lege value in je file inputs? Misschien die eens weghalen, het zou niet mogen uitmaken, maar ik vetrouw IE op geen enkel gebied, en hier werkt zo'n zelfde formuliertje wel gewoon goed. :)

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:38

crisp

Devver

Pixelated

Er zit een bug in IE die ervoor zorgt dat bij een form met enctype="multipart/form-data" soms het eerste input-element niet goed doorkomt. Meestal is dat het geval als 1 van de andere inputs karakters bevat die niet voorkomen in de karakterset waarmee het document geserveerd wordt, maar het kan best zijn dat deze bug ook in andere gevallen optreed.
Probeer eens voor je eerste file-input een dummy input element te zetten met een name property en kijk of je formulier dan wel goed werkt.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Superdeboer
  • Registratie: December 2002
  • Niet online

Superdeboer

Sa-weee-tah

Controleer even wat voor MIME-type de plaatjes meekrijgen van Firefox en Internet Explorer. Ik meen dat Internet Explorer (bij door Photoshop bewerkte images, of overal, dat weet ik niet meer) het MIME-type image/pjpeg meegeeft, waar Moz-browsers dat niet doen. Echo dus even je $_FILES en kijk wat daaruit komt bij die verschillende browsers.

Ligt het daaraan, zorg er dan voor dat image/pjpeg in je scripts ook geaccepteerd wordt als uploadsource, en bovendien dat je toestaat om het te verwerken. :)

When I write my code, only God and I know what it means. One week later, only God knows.
Hell yes it's a Cuban Cigar, but I'm not supporting their economy, I'm burning their fields.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Topicstarter
--MeAngry-- schreef op zaterdag 12 maart 2005 @ 13:50:
Waarom staat er eigenlijk een lege value in je file inputs? Misschien die eens weghalen, het zou niet mogen uitmaken, maar ik vetrouw IE op geen enkel gebied, en hier werkt zo'n zelfde formuliertje wel gewoon goed. :)
Die lege value staat er omdat mijn PHP-formmaker-script dat automatisch doet. B) :+
crisp schreef op zaterdag 12 maart 2005 @ 13:55:
Er zit een bug in IE die ervoor zorgt dat bij een form met enctype="multipart/form-data" soms het eerste input-element niet goed doorkomt. Meestal is dat het geval als 1 van de andere inputs karakters bevat die niet voorkomen in de karakterset waarmee het document geserveerd wordt, maar het kan best zijn dat deze bug ook in andere gevallen optreed.
Probeer eens voor je eerste file-input een dummy input element te zetten met een name property en kijk of je formulier dan wel goed werkt.
Handig om te weten, weet ik dat ook voor een volgende keer. Ik heb deze oplossing maar niet geprobeerd omdat hij me niet zo van toepassing leek (aangezien het script ook niet werkte als ik er 2 files in stopte), maar het is zeker mooi om te weten dat die bug er zit. :P
Superdeboer schreef op zaterdag 12 maart 2005 @ 13:57:
Controleer even wat voor MIME-type de plaatjes meekrijgen van Firefox en Internet Explorer. Ik meen dat Internet Explorer (bij door Photoshop bewerkte images, of overal, dat weet ik niet meer) het MIME-type image/pjpeg meegeeft, waar Moz-browsers dat niet doen. Echo dus even je $_FILES en kijk wat daaruit komt bij die verschillende browsers.

Ligt het daaraan, zorg er dan voor dat image/pjpeg in je scripts ook geaccepteerd wordt als uploadsource, en bovendien dat je toestaat om het te verwerken. :)
Daar lag het dus aan ja. |:( Denk je enigszins wat beveiliging aan je script te hangen door op MIME-type te controleren (ik weet dat het te faken is, maar het is altijd beter dan alleen naar de extensie kijken :P), en dan krijg je zoiets. 8)7

Thx voor de hulp. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.