Читайте также:
|
|
Загрузка файла – перемещение копии файла с компьютера сервера на компьютер клиента с использованием протокола HTTP.
Для загрузки файла необходимо иметь следующую информацию: 1) имя директории на сервере с пересылаемым файлом; 2) имя пересылаемого файла; 3) тип пересылаемого файла и соответствующий тип mime (тип контента) протокола HTTP.
Загрузка файлов может быть выполнена сервлетом.
Директорию клиента, в которую перемещается файл, определяет браузер с помощью дополнительного стандартного запроса.
Пример 1. Описания параметра инициации в дескрипторе приложения
<!- -------начало web.xml ------------------------ -->
<context-param>
<param-name>doc-dir</param-name>
<param-value>d:/File</param-value>
</context-param>
<!- --- продолжение web.xml --------------------- -->
Пример 2. Получения значения параметра инициации
// ---------- сервлет ---------------------------------------
Protected void doGet(HttpServletRequest rq,
HttpServletResponse rs) hrows ServletException, IOException {
String filename = rq.getParameter("file");
String doc dir= getServletContext().getInitParameter("doc-dir");
}
Пример 3. Класс, используемый для выбора списка файлов
Package others;
import java.io.*;
Import java.io.File;
Import java.io.FileInputStream;
public class ChoiseXXX {
public String listxxx[];
protected class OnlyXXX implements FilenameFilter {
String xxx = null;
public OnlyXXX(String xxx) {
this.xxx = "." + xxx;
}
public boolean accept(File d, String name) {
Return name.endsWith(xxx);
}
}
public ChoiseXXX(String d, String xxx) {
File dir = new File(d);
if (dir.exists()) {
listxxx = dir.list(new OnlyXXX(xxx));
}
}
}
Пример 4. Формирование списка файлов (ссылок) в jsp-странице
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import= "others.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String d = (String) getServletContext().getInitParameter("doc-dir");
ChoiseXXX ch = new ChoiseXXX(d, "doc");
String ll = null;
for (int i = 0; i < ch.listxxx.length; i++) {
ll = ch.listxxx[i];
%>
<br />
<a href="Msdoc?file=<%=ll%>"> <%=ll%> </a>
<%}%>
</body>
</html>
Пример 5. Функция пересылающая клиенту Word-файл
Protected void OutputDoc(File doc, HttpServletResponse rs)
throws IOException {
rs.setContentType("application/msword");
rs.addHeader("Content-Disposition", "attachment; filename="+ doc.getName());
Дата добавления: 2015-09-11; просмотров: 22 | Поможем написать вашу работу | Нарушение авторских прав |