Некорректное имя при скачивании файла Java Servlet

265
18 марта 2017, 00:14

Подскажите пожалуйста что не так. Сделал скачивание файлов. Но почему-то при скачивании у файла имя меняется на download, хотя имя файла корректно.

код:

@WebServlet(name = "DownloadFile", urlPatterns = "/DownloadFile")
public class DownloadFile extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }
    protected void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        String path = request.getParameter("path");
        File file = new File(path);
        if(file.exists() && file.isFile()) {
            ServletContext context = getServletContext();
            String mimeType = context.getMimeType(file.toString());
            if (mimeType == null) {
                mimeType = "application/octet-stream";
            }
            response.setContentType(mimeType+";charset=UTF-8");
            response.setHeader("Content-Disposition","attachment; filename=\"" + file.getName() + "\"");
            response.setContentLength((int) file.length());
            OutputStream out = response.getOutputStream();
            FileInputStream in = new FileInputStream(file);
            byte[] buffer = new byte[4096];
            int length;
            while ((length = in.read(buffer)) > 0){
                out.write(buffer, 0, length);
            }
            in.close();
            out.flush();
        } else {
        }
    }
}
READ ALSO
Определение местоположения в Сервисе

Определение местоположения в Сервисе

Дело в том что я никогда не имел дело с сервисамиИ мне сейчас предстоит такая задача

196
Как добавить в ListBox(select) строки из файла?

Как добавить в ListBox(select) строки из файла?

Подскажите, пожалуйста, как добавить в такой элемент строки из файла и вообще, возможно ли это: Пример ListBox(select)

261