Я пытаюсь создать загрузочный сервлет, который обрабатывает enctype = "multipart/form-data" из формы. Файл, который я пытаюсь загрузить, - это zip. Тем не менее, я могу загружать и читать файл на локальном хосте, но когда я загружаюсь на сервер, я получаю сообщение «Файл не найден», когда я хочу загрузить файл. Это из-за рамки Struts, которые я использую? Спасибо за вашу помощь. Вот часть моего кода, я использую FileUpload от http://commons.apache.org/fileupload/using.htmlПроблема с FileUpload с Struts на сервере
Я изменил использование ZipInputStream, однако, как мне ссылаться на zipFile zip без использования локального адреса на диске (то есть: C: //zipfile.zip). zip имеет значение null, потому что он не создан. Мне нужно будет разархивировать и прочитать zipentry в памяти, не записывая на сервер.
Для сервлета загрузки: > private ZipFile zip; частный считыватель CSVReader; boolean isMultipart = ServletFileUpload.isMultipartContent (запрос); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List <FileItem> items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
//Iterating through the uploaded zip file and reading the content
FileItem item = (FileItem) iter.next();
ZipInputStream input = new ZipInputStream(item.getInputStream());
ZipEntry entry = null;
while ((entry= input.getNextEntry()) != null) {
ZipEntry entry = (ZipEntry) e.nextElement();
if(entry.getName().toString().equals("file.csv")){
//unzip(entry)
}
}
}
public static void unzip(ZipEntry entry){
try{
InputStream inputStream = **zip**.getInputStream(entry);
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
reader = new CSVReader(inputStreamReader);
}
catch(Exception e){
e.printStackTrace();
}
}
<
спасибо за ваш ответ, но я застрял в ссылке на ZipFile zip. Я не могу заставить его работать без ссылки на фактический файл, который не будет работать на самом сервере. Я редактировал коды выше. – JustToHelp
Запишите его на диск, а затем обратитесь к 'File' как' ZipFile'. – BalusC
Вы имеете в виду ZipFile zip = (ZipFile) item.write (файл)? Этот файл будет ссылаться на где? – JustToHelp