Java 下载文件时设置确切的文件名
我试图下载一个文件,并动态地设置文件名。但在下载文件时,我收到的文件名是“3823720b-3d63-4e2c-8fc2-6abdc34b5cd8.docx”,但我传递的文件名是“Sample.docx” 这对我有用Java 下载文件时设置确切的文件名,java,spring,file,Java,Spring,File,我试图下载一个文件,并动态地设置文件名。但在下载文件时,我收到的文件名是“3823720b-3d63-4e2c-8fc2-6abdc34b5cd8.docx”,但我传递的文件名是“Sample.docx” 这对我有用 response.header("content-disposition", "attachment; filename=\"" + fileNameDisplay + "\""); 您可能还需要添加 setContentType(“应用程序/八位字节流”) existingDo
response.header("content-disposition", "attachment; filename=\"" + fileNameDisplay + "\"");
您可能还需要添加
setContentType(“应用程序/八位字节流”) existingDocuments.getFileName()的值是否为“Sample.docx”,您在这里不知怎么遗漏了一个问题。@jai是的,所做的语句中没有查询。请提供有关代码的详细信息。这样可能会有帮助。你没有添加问题,只是删除了一些单词……我也试过了。没有为我工作。我仍然面临着使用Files.copy(file,response.getOutputStream())的相同挑战;尝试按代码复制原始字节。我使用了这个outputStream.write(bytesReadFromFile[]);你发现你的车有什么毛病吗?否则,这个最后的建议是正确的。我也尝试过将内容类型作为application/octet流。但是得到同样的问题实际上不应该,你能试着用saple.docx替换现有的documents.getFileName()并看看它是否有效吗。同样的代码在一个项目中对我有效,所以它也应该对你有效。
response.header("content-disposition", "attachment; filename=\"" + fileNameDisplay + "\"");