Avatar billede _carsten Nybegynder
03. november 2007 - 23:41 Der er 6 kommentarer og
1 løsning

Download af fil fra jsp

Hvordan er det lige man får hentet en fil fra server ?

Jeg kan sagtens uploade filen, men den anden vej - niks!

Filen er i øvrigt et serialiseret object.

Jeg er gået kold!
Avatar billede arne_v Ekspert
03. november 2007 - 23:59 #1
Skal din JSP hente en fil fra en anden web server eller skal din JSP serve en fil
til browser (eller et program som henter med HTTP) ?
Avatar billede arne_v Ekspert
04. november 2007 - 00:01 #2
Det første er jo bare en (Http)URLConnection.

Til det anden vil jeg anbefale en servlet. JSP sider er ikke gode til binært output.
Jeg kan nok finde et eksempel på en servlet.
Avatar billede _carsten Nybegynder
04. november 2007 - 00:06 #3
Et andet program som bruger http

Den første har jeg fixet

Det er den anden jeg kæmper med - her er jeg gået kold
Avatar billede arne_v Ekspert
04. november 2007 - 00:39 #4
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class PicServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("den MIME type det skal have");
        OutputStream os = response.getOutputStream();
        // skriv fil til os
        os.flush();
    }
}
Avatar billede _carsten Nybegynder
04. november 2007 - 00:53 #5
Tak for indsatsen, smid et svar

- fik faktisk jsp'en til at fungere


<%@ page language="java" import="java.util.*, java.io.*"%><%

        InputStream is = request.getInputStream();
       
        String extension = ".ser";
        String user = request.getParameter("usr");
        String filename = user + extension;
       

        File file = new File(getServletContext().getRealPath("/work/sms/serialize/" + filename));
        InputStream in = new FileInputStream(file)
                     
        int bit = 0;

        try {
              while ((bit = in.read()) >= 0) {
                out.write(bit);
              }
        }
        catch (IOException ioe) {
              ioe.printStackTrace(System.out);
        }

        out.flush();
        out.close();
%>
Avatar billede _carsten Nybegynder
04. november 2007 - 21:15 #6
> Arne
Læg et svar.
Avatar billede arne_v Ekspert
04. november 2007 - 21:27 #7
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester