banshee: file-upload: .exe-Dateien unter IE6??

Hiho!

Ich habe einen Dateiupload programmiert. Leider gibt es unter IE6 Probleme: Ich kann keine .exe-Dateien hochladen. Dies führt zu dem Fehler 'Fehler: Server oder DNS kann nicht gefunden werden
Internet Explorer '. Hier der Code, der den Upload startet:

------------------------------------------------------------------

<%@page contentType="text/html"%>
<html>
<head><title>JSP Page</title></head>

<SCRIPT language="JavaScript">

</SCRIPT>
<body>
<FORM action="uploadTest5.jsp" name="selectionForm" enctype="multipart/form-data" method="POST">
 <input type="file" name="fileName"><br>
 <input type="submit" name="sendButton" value="Upload" >
</FORM>

</body>
</html>

---------------------------------------------------------------

Das Problem liegt auch (vermutlich?) nicht an der Seite, die beim Submit-Button aufgerufen wird - Andere Datei-Formate (z.B. *.ico) funktionieren. Unter Netscape 7.0 Tritt dieses Problem übrigens nicht auf..

Über kompetenten Rat würde ich mich sehr freuen!!

Cioa,
Banshee!

  1. Das Problem liegt auch (vermutlich?) nicht an der Seite, die beim Submit-Button aufgerufen wird

    Hi!
    Ich denke, du weißt genauso wie ich, dass das Problem definitiv NICHT am Formular liegen kann, schließlich ist das statisch und kann nichts hochladen.

    Das Problem muss im Script liegen... Darum: Her damit ;)

    CU
    http://www.yubb.de

    1. Kein Problem, ist eine JSP-Seite...

      ---------------------------------------------------------------
      <%
      // Ausgabe von Header- und Parameterinformationen:
       System.out.println("Content-length = " + request.getContentLength());
       java.util.Enumeration en = request.getParameterNames();
       while(en.hasMoreElements())
       {
        String strParam = (String)en.nextElement();
        Object parValue = request.getParameter(strParam);
        System.out.println(strParam + " = " + parValue);
       }

      en = request.getHeaderNames();
       while(en.hasMoreElements())
       {
        String strParam = (String)en.nextElement();
        Object parValue = request.getHeader(strParam);
        System.out.println(strParam + " = " + parValue);
       }

      System.out.println("Before is-creation!");

      // Get the datastream containing the uploaded file:
       javax.servlet.ServletInputStream is = request.getInputStream();

      byte[] b = new byte[request.getContentLength()];
       System.out.println("b created!!");

      is.read(b, 0, request.getContentLength());

      // Close the ServletInputStream:
      */ is.close();

      %>
      ---------------------------------------------------------------

      Ich bin mir durchaus im Klaren darüber, dass diese JSP-Seite mit dem Stream nicht viel macht, aber darum geht es ja auch nicht. Beim 'read' geht schon was schief. Interessant ist halt, dass es mit z.B. .txt-Dateien funktioniert, mit .exe-Dateien aber nicht, und dass dieses Problem mit NN7 nicht auftritt.

      Ciao,
      Banshee!

    2. Hi Phil,

      Das Problem muss im Script liegen... Darum: Her damit ;)

      es kann sehr wohl auch in der Art und Weise liegen, wie der M$IE 6 seinen Multipart-Block zusammenbaut (was erklären würde, wieso in Netscape 7 kein Problem vorliegt).

      Deshalb würde ich denselben Upload mal an ein Skript senden, das einfach nur stdin komplett in eine Datei auf dem Server schreibt (ohne dessen Struktur verstehen zu wollen), und das dann mit verschiedenen Browsern tun und die Ergebnisse vergleichen.
      Möglicherweise steckt tatsächlich im Skript eine unzulässige Annahme - die auf diese Weise wahrscheinlich enttarnt werden könnte.

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
      1. Hallo Michael,

        Deshalb würde ich denselben Upload mal an ein Skript senden, das einfach nur stdin komplett in eine Datei auf dem Server schreibt (ohne dessen Struktur verstehen zu wollen), und das dann mit verschiedenen Browsern tun und die Ergebnisse vergleichen.

        Kommt man da mit PHP auch dran? Wie muss man den Kanal ansprechen? Einfach mit einem fopen(stdin) oder fopen(input)?

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
        1. Hi Thomas,

          Kommt man da mit PHP auch dran?

          keine Ahnung, wie die CGI-Schnittstelle in PHP funktioniert. Aber wieso muß es PHP sein?

          Viele Grüße
                Michael

          --
          T'Pol: I apologize if I acted inappropriately.
          V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
          1. Hi,

            Kommt man da mit PHP auch dran?

            keine Ahnung, wie die CGI-Schnittstelle in PHP funktioniert. Aber wieso muß es PHP sein?

            Muss es ja gar nicht, aber ich kann z.B. immer noch nicht Perl. Dabei könnte ich das nun wirklich gut gebrauchen. Wir haben da diverse Hilfstools für unser Projekt zu erstellen, die garantiert keine Browserausgabe benötigen, da sie direkt an der Servermaschine oder über rlogin oder ssh oder cron gestartet werden sollen.

            Zu dumm. ich nahbe immer noch kein vernünftiges Perl-Tutorial gefunden, eines das am Anfang meinem Kenntnisstand entsprechend für jeden Schritt fünf Seiten berücksichtigt und dann langsam schneller wird. Toller Satz, oder? Langsam schneller werden. Also die Incrementfunktion der Beschleunigung?

            War wohl doch schon ein Bierchen zuviel eben. *kicher*

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
            1. Hi Thomas,

              Muss es ja gar nicht, aber ich kann z.B. immer noch nicht Perl.

              tröste Dich - ich auch nicht. ;-)

              und dann langsam schneller wird. Toller Satz, oder? Langsam schneller werden. Also die Incrementfunktion der Beschleunigung?

              Betragsmäßig kleine (konstante?) positive erste Ableitung der Geschwindigkeit?

              Viele Grüße
                    Michael

              --
              T'Pol: I apologize if I acted inappropriately.
              V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
            2. Hi,

              Zu dumm. ich nahbe immer noch kein vernünftiges Perl-Tutorial gefunden, eines das am Anfang meinem Kenntnisstand entsprechend für jeden Schritt fünf Seiten berücksichtigt und dann langsam schneller wird. Toller Satz, oder? Langsam schneller werden. Also die Incrementfunktion der Beschleunigung?

              Falls es dich interessiert, ich habe mit http://tekromancer.com/ angefangen. Ist ganz Ok, geht allerdings nicht sehr weit. Danach mit Selfhtml.

              mfg Andres Freund

  2. Hallo,

    <html>
    <head><title>JSP Page</title></head>

    <SCRIPT language="JavaScript">

    </SCRIPT>

    Mal so ganz nebenbei gefragt: ist das zulässig, den Script-Bereich außerhalb von <head> und <body> anzulegen?

    <body>
    <FORM action="uploadTest5.jsp" name="selectionForm" enctype="multipart/form-

    ...

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
    1. Mal so ganz nebenbei gefragt: ist das zulässig, den Script-Bereich außerhalb von <head> und <body> anzulegen?
      Liebe Grüße aus http://www.braunschweig.de

      Tom

      Soweit ich weiß, macht das keine Probleme. Abgesehen davon handelt es sich dabei im vorliegenden Fall um eine Quellcode-Leiche... Ein Überbleibsel aus älteren Versionen. Der Script-Bereich kann auch gelöscht werden :-)

      Ciao,
      Banshee!

  3. Moin Moin !

    Hiho!

    Ich habe einen Dateiupload programmiert. Leider gibt es unter IE6 Probleme: Ich kann keine .exe-Dateien hochladen. Dies führt zu dem Fehler 'Fehler: Server oder DNS kann nicht gefunden werden
    Internet Explorer '. Hier der Code, der den Upload startet:

    Ist da zufällig noch HTTPS im Spiel, oder ein Redirect, oder HTTP/1.1 ?

    Geh mal mit der Fehlermeldung (noch besser mit der des englischen IE) in Google und MSKB, das ist ein bekannter Fehler im IE, AFAIK.

    Und schalte "Show Friendly HTTP Error Messages" (unter Internet Options -> Advanced) aus, das ist mehr als schwachsinnig von Microsoft.

    Alexander <-- heute mit akutem AbküFi

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    Mein "Lieblings-Forums-Bug": http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2