как скачать файл в гае - PullRequest
       1

как скачать файл в гае

0 голосов
/ 06 декабря 2011

Я не уверен, что может.Я хочу проанализировать файл Excel и позволить пользователю загрузить его в мое приложение (gae).

public class dumpDataServlet extends HttpServlet {  
    public void service(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        String msg = "";
        boolean dumpFile = false;
        JSONObject json = null;
        resp.setCharacterEncoding(Constant.RESPONSE_CHARACTER_ENCODING);
        try {
            try {
                msg = req.getParameter("dumpFile") + " ";
                dumpFile = Boolean.valueOf(req.getParameter("dumpFile"));
            } catch (Exception ex) {
            }json = getFromOtherGAE();
            if (dumpFile) {
                OutputStream out = resp.getOutputStream();
                this.parseExcelFile(json).write(out); //parseExcelFile will return a HSSFWorkbook
                out.flush();
                out.close();
            } else {
                resp.getWriter().println(json.toString());
            }
        } catch (Exception ex) {
            msg = ex.getClass() + " " + ex.getMessage();
            resp.getWriter().println(msg);
        }
    }   
}

Что-то не так в этом коде?Или просто не может это сделать?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 06 декабря 2011

Чтобы браузер распознал вывод как Excel, вам нужно установить несколько заголовков. Что-то вроде:

resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-Disposition","attachment; filename=download.xls");
0 голосов
/ 06 декабря 2011

Я не вижу, чтобы вы когда-либо инициализировали свой объект 'json'. Что происходит, когда вы запускаете этот код?

...