Я пытаюсь реализовать функцию загрузки файлов с помощью webkitdirectory с помощью java-бэкэнд.Загрузить файлы в папку/подкаталоги с помощью webkitDirectory и Java Servlet
Step1. Дизайн HTML форму с webkitdirectory
<form action="DataUpload" method="post" enctype="multipart/form-data">
<input type="text" name="dbName" value="Database Name Here" id="dbName"/>
<input type="file" id="ctrl" webkitdirectory directory multiple/>
<input type="submit" />
</form>
Шаг 2. Передача информации от form
к Servlet
public class DataUpload extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response){
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator fileIterator;
try {
fileIterator = upload.getItemIterator(request);
InputStream inputStream = null;
BufferedReader br = null;
System.out.println("CheckPoint 1");
while(fileIterator.hasNext()) {
System.out.println("CheckPoint 2");
FileItemStream item = fileIterator.next();
String inputFileName = FilenameUtils.getName(item.getName());
inputStream = item.openStream();
inputFileName = inputFileName.split("\\.")[0];
List<String[]> list = new ArrayList<String[]>();
// Getting File
br = new BufferedReader(new InputStreamReader(inputStream)); // Getting the object to read file
String line;
while((line = br.readLine())!= null){// While condition ends then end of file is reached.
list.add(line.split(","));
}
// Checking if File is Empty
if (list.size() == 0){
System.err.println("File Empty");
}else{
// TODO : Parameter Parser.
// DO JOB HERE
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Мой код, не дает какой-либо ошибки программирования, но она не проходит через CheckPoint 2
, т.е. он не входит в петлю while
. Я пытался смотреть в различные должности, такие как:
Keep Directory Structure When Uploading
How to upload files to server using JSP/Servlet? - В то время как этот вопрос показывает максимальное сходство с проблемой в вопросе, This вопрос работает для выбора нескольких файлов в папке, где проблема здесь вопрос состоит загрузить файлы в разных подкаталогах внутри папки.
Мне было интересно, если это возможно, используя только java servlets
без использования javascript
. Мне удалось загрузить несколько файлов внутри одной папки. Но код, похоже, не работает, когда я выбираю папку как входную, вместо этого она работает, когда я выбираю конкретный файл или подмножество файлов.