i ntra-mart The Power for Enterprise Web Solution

ファイル・ダウンロード
(J2EEベース開発モデル)


サンプルプログラム

filebox.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="jp.co.intra_mart.foundation.service.client.file.*" %>
<%@ page import="java.util.*" %>
<%
NetworkFile file = new NetworkFile("filebox/");
if(!file.isDirectory()){
file.makeDirectories();
}
Collection list = file.files();
Iterator view = list.iterator();
String file_name;
%>
<HTML>
<HEAD>
<TITLE>File Center</TITLE>
</HEAD>
<BODY bgcolor="WhiteSmoke">
<H2>File List</H2>
<TABLE border>
<TR>
<TH>File Name</TH>
<TD><BR></TD>
</TR>
<%
while(view.hasNext()){
file_name = (String)view.next();
%>
<TR>
<TD><%= file_name %></TD>
<TD><A href="download.jsp?file_name=<%= file_name %>">download</A></TD>
</TR>
<%
}
%>
</TABLE>
</BODY>
</HTML>

download.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="jp.co.intra_mart.foundation.service.client.file.*" %>
<%
String file_name = request.getParameter("file_name");
NetworkFile file = new NetworkFile("filebox/" + file_name);
OutputStream os = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + file_name);
os.write(file.load());
%>
</TD>
</TR>
</TABLE>


※詳細についてはフレームワークに同梱のサンプルを参照してください。
メニューパスは、[サンプル]-[J2EE開発モデル]-[チュートリアル]-[ファイル操作]となります。

また、上記のサンプル以外にjp.co.intra_mart.foundation.http.FileSender APIを利用することも可能です。