使用Java和Javascript从“另存为”窗口下载文件

使用Java和Javascript从“另存为”窗口下载文件,java,javascript,Java,Javascript,我正在我的应用程序中生成一个报告,并将其保存在电脑中的某个位置。现在,当用户单击“下载”按钮时,将打开“另存为”窗口,文件将以指定名称写入指定位置。我可以将文件写入另一个文件,但无法获取“另存为”窗口 如何使用Java和Javascript从另存为窗口下载文件 对不起! 文件的类型可以是HTML、PDF或CSV。文件的内容是包含少量值和结果的表格 它是一个桌面应用程序。现在我正在将文件保存到我的硬编码位置。保存后,如果用户单击“下载”按钮,将打开“另存为”窗口,以便用户可以将这五个文件保存到指定

我正在我的应用程序中生成一个报告,并将其保存在电脑中的某个位置。现在,当用户单击“下载”按钮时,将打开“另存为”窗口,文件将以指定名称写入指定位置。我可以将文件写入另一个文件,但无法获取“另存为”窗口

如何使用Java和Javascript从另存为窗口下载文件

对不起! 文件的类型可以是HTML、PDF或CSV。文件的内容是包含少量值和结果的表格


它是一个桌面应用程序。现在我正在将文件保存到我的硬编码位置。保存后,如果用户单击“下载”按钮,将打开“另存为”窗口,以便用户可以将这五个文件保存到指定位置。我使用的是Java、Spring、Hibernate和JavaScript。

请确保您的下载url发送的内容类型正确

以下是我创建的littel helper方法:

protected void SetContentType(ContentType type)
        {
            switch (type)
            {
                case ContentType.HTML:
                    {
                        _context.Response.ContentType = "text/html";
                        break;
                    }
                case ContentType.JSON:
                    {
                        _context.Response.ContentType = "application/json";
                        break;
                    }
                case ContentType.Text:
                    {
                        _context.Response.ContentType = "text/plain";
                        break;
                    }
                case ContentType.PDF:
                    {
                        _context.Response.ContentType = "application/pdf";
                        break;
                    }
                case ContentType.OctetStream:
                    {
                        _context.Response.ContentType = "application/octet-stream";
                        break;
                    }
                case ContentType.Excel:
                    {
                        _context.Response.ContentType = "application/vnd.ms-excel";
                        break;
                    }
                default:
                    {
                        _context.Response.ContentType = "application/json";
                        break;
                    }
            }
        }

如果要始终下载文件,请使用应用程序/八位字节流选项

使用
JFilechooser

String wd = System.getProperty("user.dir");
JFileChooser fc = new JFileChooser(wd);
int rc = fc.showDialog(null, "Select Data File");
if (rc == JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
filename = file.getAbsolutePath();
// call your function here
}
else
System.out.println("File chooser cancel button clicked");
return;

1) 它是什么类型的文件?如中所示,文件扩展名是什么?里面有什么?2) “请任何人帮忙……谢谢。”不要问这样的问题。你在这里问什么还不清楚。你说的是web应用程序还是桌面应用程序?