当前位置: 首页 > 面试题库 >

如何让用户下载我的文件?(Java,MVC,Excel,POI)

申辉
2023-03-14
问题内容

我正在使用Struts2,Spring和Hibernate。

我用POI编写了一个名为test.xls的简单Excel文件。当我运行该操作时,它可以工作,因为出现了test.xls,但它在我的tomcat文件夹中。

我希望该文件可以在我的jsp页面上下载。如何使用户下载.xls文件?相反,我怎么称呼那条路?

抱歉,答案很明显,我是新来的。我知道它可能与ServletContext或HttpServletRequest有关吗?

[edit]感谢以下回答,我可以正常工作。这是工作代码:

private InputStream excelStream;

public String export(){
//Create excelfile
    HSSFWorkbook workbook = new HSSFWorkbook();
    FileOutputStream file = null;

    try{
         file = new FileOutputStream("poi-test.xls"); 
    }
    catch(IOException e){
        e.printStackTrace();
    }       
//Populate workbook with all the excel stuff
    ...

//Write to file
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try{
        workbook.write(file);
        workbook.write(baos);
        ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 
        excelStream = bis;
    }
    catch(IOException e){
        e.printStackTrace();
    }
    return "excel";
}

public InputStream getExcelStream() {
    return excelStream;
}


public void setExcelStream(InputStream excelStream) {
    this.excelStream = excelStream;
}

在我的struts文件中:

        <result name="excel" type="stream">
            <param name="contentType">application/vnd.ms-excel</param>
            <param name="inputName">excelStream</param>
            <param name="contentDisposition">attachment; filename="excelExport.xls"</param>
            <param name="bufferSize">1024</param>
        </result>

问题答案:

您要为此使用Struts2流结果。这是一些有关此的信息:

http://struts.apache.org/2.2.1/docs/ajax.html



 类似资料:
  • 我正在使用Chrome编写一些Selenium WebDriver和AutoIt Java测试。当我在Chrome中下载一个文件时,它会自动下载到我电脑上的downloads文件夹中。我正在一个存储库上与多个其他用户共享这个代码项目,因此我不想将我的下载文件夹与我的特定用户名硬编码在其中。 我的意思是假设我电脑上的用户名是“Eamon”。我的机器上的下载文件夹是“C:\Users\Eamon\do

  • 问题内容: 在我的ASP.NET MVC项目中,我使用ClosedXML生成了一个excel文件。 它在非ajax调用中效果很好。这是我的控制器动作方法 现在,我正在尝试通过ajax请求来执行此操作。但是文件不是从mvc控制器发送的。 我该怎么办呢?先感谢您。 问题答案: 为什么不?ramiramilu关于使用和是正确的。除了ASP.NET MVC3,我做过同样的事情。 我建议使用返回的控制器 仅

  • 主要内容:文件下载在实际的项目开发中,文件的上传和下载可以说是最常用的功能之一,例如图片的上传与下载、邮件附件的上传和下载等。在《 Spring MVC 文件上传》一节中我们介绍了文件的上传,本节我们将对 Spring MVC 中的文件下载功能进行讲解。 文件下载 文件下载的含义十分简单,它指的就是将服务器中的文件下载到本机上。 下面我们就结合一个实例,来演示下如何在 Spring MVC 中实现文件的下载功能,可

  • 我正在使用Apache POI生成. xlsx文件。 我想从Spring controller返回该文件。以下是我到目前为止所做的: 控制器: 是否可以从rest控制器返回实际的excel文件,以便用户可以将其下载到计算机上?至于现在控制器返回字节[],但我想返回它的实际文件。我怎样才能做到这一点?

  • 我有一个场景,在一个线程组中有两个采样器。在一个采样器中,我执行一个POST请求,该请求触发文件下载过程。该过程将继续,直到文件的所有详细信息在后端完全获取。然后在下一个采样器中,我执行一个GET请求,得到下载的文件链接作为响应。使用该链接,我可以从服务器下载该文件。 当我运行线程组时,第二个采样器即使在我的文件下载过程中也会执行,即使第二个采样器的响应代码是200,我也会在响应中得到空数据。 所

  • 需要数据库集成代码(CRUD操作) 如何使用SpringMVC上传Excel文件?MultipartFile类提供了对上载文件的详细信息的访问,包括文件名、文件类型等。我们可以使用简单的HTML页面显示以下信息: 我们还可以将其他信息与上载的文件一起发送到服务器。我们只需在表单中包含必填字段: 文件上传服务。JAVA