开发类似于下面所示的 FTP 应用程序的更好方法是什么?
它将允许我的项目中的人员下载我们使用的所有可安装软件,例如 IBM Websphere (1 GB)、eclipse (500 MB) 以及许多其他软件软件大小从 2.5 GB 到 500 MB 不等,托管在 Red Hat Linux 中
是否最好只安装 Apache HTTP Server 并将 DocumentRoot 设置为源目录,然后由 Apache 完成剩下的工作?
DocumentRoot "/hosting/softwares"
使用 HTML/JSP 编写一个简单的 JAVA/J2EE Web 应用程序来生成上面的 View ,并使用下面的伪代码。但是我认为读取如此大的文件不是一个好主意JAVA。
File downloadFile = new File(filePath); FileInputStream inStream = new FileInputStream(downloadFile); response.setContentType(mimeType); response.setContentLength((int) downloadFile.length()); String headerKey = "Content-Disposition"; String headerValue = String.format("attachment; filename=\"%s\"", downloadFile.getName()); response.setHeader(headerKey, headerValue); // obtains response's output stream OutputStream outStream = response.getOutputStream(); byte[] buffer = new byte[4096]; int bytesRead = -1; while ((bytesRead = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, bytesRead); } inStream.close(); outStream.close();
是否有其他方法可以完成此任务,例如使用 HTML 或任何其他框架。
最佳答案
如果您的文件是 100% 静态并从磁盘提供服务,那么 Apache 是最简单、最高效的选择。您仍然可以提供静态 index.html
文件来改进导航和外观。
wiki 还提供了轻松安全的文件上传的额外好处。您应该查看 wiki,但设置比 Apache 更复杂。
Web 应用程序服务器(servlet/JSP、J2EE、.NET...)并不真正相关,因为它们是用于动态内容的。它们当然可以提供静态内容,但用于您的目的就有点过分了,除非您的文件需要存储在数据库而不是文件系统中。
关于java - FTP 看起来像 java/HTML 中的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071099/