Я новичок в Struts и работаю над загрузкой файлов с помощью Struts.
Клиент: это программа Java, которая подключается к моему приложению Strut с помощью API-интерфейса apache HttpClient и предоставляет мне файл File. Клиент по мере необходимости иногда дает мне файл .wav, иногда файл .zip, а иногда и то, и другое.
Сервер: приложение Struts, которое получило запрос от клиентского приложения и загрузило файл.
Здесь проблема возникает, когда я загружаю файл, он загружается с использованием расширения «.tmp», которое я хочу загрузить с тем же расширением, которое прошел клиент.
Или есть какой-либо другой способ, с помощью которого мы можем проверить, каково расширение файла, отправленного клиентом....?
Я застрял в этой проблеме и не могу двигаться вперед.
Пожалуйста, найдите прикрепленный код и скажите мне, какую модификацию я должен сделать:
Код сервера:
MultiPartRequestWrapper multiWrapper=null;
File baseFile=null;
System.out.println("inside do post");
multiWrapper = ((MultiPartRequestWrapper)request);
Enumeration e = multiWrapper.getFileParameterNames();
while (e.hasMoreElements()) {
// get the value of this input tag
String inputValue = (String) e.nextElement();
// Get a File object for the uploaded File
File[] file = multiWrapper.getFiles(inputValue);
// If it's null the upload failed
if (file != null) {
FileInputStream fis=new FileInputStream(file[0]);
System.out.println(file[0].getAbsolutePath());
System.out.println(fis);
int ch;
while((ch=fis.read())!=-1){
System.out.print((char)ch);
}
}
}
System.out.println("III :"+multiWrapper.getParameter("method"));
Код клиента:
HttpClient client = new HttpClient();
MultipartPostMethod mPost = new MultipartPostMethod(url);
File zipFile = new File("D:\\a.zip");
File wavFile = new File("D:\\b.wav");
mPost.addParameter("recipientFile", zipFile);
mPost.addParameter("promptFile", wavFile);
mPost.addParameter("method", "addCampaign");
statusCode1 = client.executeMethod(mPost);
на самом деле клиент написан давно и не может быть изменен, и я хочу идентифицировать что-то на стороне сервера только для того, чтобы найти расширение.
Пожалуйста, помогите, спасибо.
contentType
, с помощью которого вы всегда можете уточнить тип файла. Всегда лучше предоставить какой-то код с вопросом - person Umesh Awasthi   schedule 27.07.2012audio/x-wav
, файл будет иметь расширение.wav
, а если файлapplication/zip
, файл будет иметь расширение.zip
. - person Pigueiras   schedule 27.07.2012