我有一个包含 blob 内容的表,在其中存储不同的文件类型(文本、音频、图像等)
。成功检索到byte[]
后,我不知道如何将[]转换为下载对话框。
这是我的代码
trns = session.beginTransaction();
Query query = session.createQuery("from FileDownload as fu where fu.Id =:Id");
query.setInteger("Id", id);
FileDownload fileDownload = (FileDownload) query.iterate().next();
byte[] byteArray = fileDownload.getFile();
上面的代码工作正常,我收到一个字节[]
。但我不知道如何进一步将其转换为出现对话框的文件。
有人可以帮我吗?
最佳答案
假设您知道文件的 mimeType
和 filename
,您可以设置内容类型和 HTTP header Content-Disposition。
只需将字节数组写入OutputStream
:
// The response from your servlet.
HttpServletResponse resp;
resp.setContentType(mimeType);
resp.setHeader("Content-Disposition", "attachment;filename=" + filename);
resp.getOutputStream().write(byteArray);
关于java - 如何使用下载对话框将 byte[] 转换为文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13989215/