如何将多部分文件的文件名作为列表从控制器发送到前端页面

问题描述

我正在尝试将文件从“上传”按钮上传到服务器中的临时文件夹,上传完成后,我希望看到“成功”消息和上传文件名列表。如果用户从UI单击“删除”按钮,我想删除通过在请求中传递文件名来选择文件。请帮助我。以下是我编写的代码

@ResponseBody
@JsonIgnore
@RequestMapping(value = "/uploadAttachment",method = RequestMethod.POST,produces = "text/html")
public List<String> uploadAttachment(final MultipartHttpServletRequest request)
{
    final List<String> fileNames = new ArrayList<String>();
    try
    {
        final List<multipartfile> files = request.getFiles("files[]");
        final String orderPath = dPUploadOrderAttachmentFacade.createFolderForAttachment();
        LOG.info(orderPath);
        for (final multipartfile file : files)
        {
            if (file.getSize() <=300000) {
            dPUploadOrderAttachmentFacade.storeTempFiles(file.getoriginalFilename(),file.getInputStream(),orderPath);
            final String fileName = file.getoriginalFilename();
            LOG.info(fileName);
            fileNames.add(fileName);
        }
        }
        LOG.info(fileNames);
        return fileNames;

    }
    catch (final Exception ex)
    {
        LOG.error(fileNames+"File Upload Failed due to " );
    }
    return fileNames;

}

解决方法

添加代码 request.setAttribute(“ filenames”,fileNames);

JSP

 <c:forEach var = "filename" items = ${filenames}>
    ${filename}
  </c:forEach>

尝试一下