2016-03-31 5 views
0

Я новичок в программировании сервлета, мне нужно разработать API .WAR, используя сервлет, который будет загружать только файлы xlsx на определенный путь на сервере (этот API будет использоваться WebFocus (язык программирования для отчетности))Загрузка файла xlsx по определенному пути с использованием Java-сервлета

конкретный путь будет в скрытой поданной HTML <form>

здесь мой HTML

<html> 
<body> 
<form action="UploadServlet" method="Post" enctype="multipart/form-data"> 
Select File:<input type="file" name="fname"/><br/> 

    <input type="hidden" name="path" value="G:/newFolder" /> 
<input type="submit" value="upload"/> 

</form> 
</body> 
</html> 

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

В настоящее время в моем UploadServlet.java я использовал MultipartRequest и он правильно загружает файл в пункт назначения, но я хочу, чтобы distenation было значением скрытого поля пути <form>

import java.io.*; 
import javax.servlet.ServletException; 
import javax.servlet.http.*; 
import com.oreilly.servlet.MultipartRequest; 

public class UploadServlet extends HttpServlet { 

public void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 

response.setContentType("text/html"); 
PrintWriter out = response.getWriter(); 

MultipartRequest m=new MultipartRequest(request,"g:/newFolder"); 
out.print("successfully uploaded"); 
} 
} 

любая помощь будет очень признательна.

+0

Где находится код сервлета? Это будет важной частью кода. – f1sh

+0

Я редактировал вопрос, и я добавил, что @ f1sh –

ответ

0

Просто замените путь в коде Java со значением представленной переменной:

String uploadPath = request.getParameter("path"); 
MultipartRequest m = new MultipartRequest(request, uploadPath); 

Теперь ваш MultipartRequest инициализируется значением из скрытого поля.

Обратите внимание: этот конструктор MultipartRequestlimits the upload size to 1 megabyte.

+0

я сделал то же самое раньше, но он возвращает null –

+0

Тогда ваше скрытое поле не будет отправлено правильно. Попробуйте распечатать все параметры, которые находятся в вашем запросе, для целей проверки. – f1sh

+0

Я сделал, он говорит, что вы пытаетесь опубликовать не multipart данные –

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