我正在使用Amazon Elastic Beanstalk设置新的Web应用程序。在创建应用程序时,不要求我输入EC2实例的私钥。我想生成一个临时存储在EC2实例中的文件的链接。
我尝试使用AWS S3,但文件大小几乎不超过40 MB到60 MB。而且我不想将其永久存储。因此,暂时存储在EC2实例中是可以的。
else if(flag.equals("download"))
{
String proTitle=request.getParameter("protitle");
String dirName=proTitle.toLowerCase().replaceAll("\\s+","");
String capdirName = dirName.substring(0, 1).toUpperCase() + dirName.substring(1);
String filename=capdirName+".zip";
File proDir = new File(request.getServletContext().getRealPath(""));
String filepath =proDir+File.separator;
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
FileInputStream fileInputStream=new FileInputStream(filepath + filename);
int i;
while ((i=fileInputStream.read()) != -1)
{
response.getWriter().write(i);
}
此代码适用于在本地主机和桌面上存储文件,但是当在Web服务器上运行应用程序时,不会生成zip文件。