2012-04-11 3 views
0

Мне нужно загрузить файл .dat с страницы jsp. Я использую распорки. Я используюКак загрузить файл dat с помощью JSP, Java (Struts.)?

<input type="file" name="file" size=25 /> 

в JSP и в классе действия

FileUploadForm uploadForm = (FileUploadForm) form; 
FormFile file = uploadForm.getFile(); 
InputStream stream = file.getInputStream(); 

После этого я запутался. Я не хочу открывать и читать файл dat, так как размер может быть большим. Я просто хочу создать/скопировать один и тот же файл данных по определенному пути на сервере в соответствии с исходным именем файла dat. Как это сделать?

И если нет другого пути, но прочитайте его, то также скажите мне, как читать и записывать его в файл.

ответ

1

Это задачи, которые необходимо выполнить для того, чтобы закончить эту задачу:

  1. Решают, где загруженные файлы будут храниться на сервере
  2. Открыть выходной поток в файл в соответствующем месте
  3. копирование из выгружаемых данных от его входной поток на выходе потока

Вот некоторые псевдо-код, используя Apache IOUtils скопировать данные потока:

final FormFile formFile = uploadForm.getFile(); 
final String outPath = "/somerootpath/" + formFile.getFileName(); 
final OutputStream outStream = new FileOutputStream(outPath); 
IOUtils.copy(formFile.getInputStream(), outStream); 
IOUtils.closeQuietly(outStream); 
+0

Большое спасибо за ответ. Но ошибка компилятора приходит и говорит: «Метод IOUtils.copy (InputStream, OutputStream) не определен для типа IOUtils» и тот же для IOUtils.closeQuietly (outStream); –

+0

Для использования Apache IOUtils вам необходимо [загрузить] (http://commons.apache.org/io/download_io.cgi) и включить JAR в свой путь сборки. – Perception

+0

Большое спасибо. Это сработало. –

Смежные вопросы