это мой первый вопрос StackOverflow :)Как я могу остановить FileUploadBase создать upload_temp_file на JBoss 7
Итак, у меня есть веб-приложение Java, где я использую JBoss 7.1 для запуска этого приложения. В этом приложении у меня есть сервлет, чтобы загрузить один файл в моем приложении, и я использую этот LIB: org.apache.commons.fileupload.FileUploadBase.
Когда я вызываю метод FileUploadBase.parseRequest
, файл с именем upload_d77dbeb6_aa80_4d64_a112_2ea7c12c6ced_00000089.tmp создан в C:\Users\[server-machine]\AppData\Local\Temp
и размер тот же исходный файл, который я загрузил в свое приложение.
Имя файла генерируется FileUploadBase
и всегда возрастает плюс пять, как:
upload_d77 ... ced_00000089.tmp
upload_d77 ... ced_00000094.tmp
upload_d77 ... ced_00000099.tmp
ниже следовать методу parseRequest, файл создается, когда в то время как цикл закончен.
public List<FileItem> parseRequest(RequestContext ctx)
throws FileUploadException {
List<FileItem> items = new ArrayList<FileItem>();
boolean successful = false;
try {
FileItemIterator iter = getItemIterator(ctx);
FileItemFactory fac = getFileItemFactory();
if (fac == null) {
throw new NullPointerException("No FileItemFactory has been set.");
}
while (iter.hasNext()) {
final FileItemStream item = iter.next();
// Don't use getName() here to prevent an InvalidFileNameException.
final String fileName = ((FileItemIteratorImpl.FileItemStreamImpl) item).name;
FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(),
item.isFormField(), fileName);
items.add(fileItem);
try {
Streams.copy(item.openStream(), fileItem.getOutputStream(), true);
} catch (FileUploadIOException e) {
throw (FileUploadException) e.getCause();
} catch (IOException e) {
throw new IOFileUploadException(format("Processing of %s request failed. %s",
MULTIPART_FORM_DATA, e.getMessage()), e);
}
final FileItemHeaders fih = item.getHeaders();
fileItem.setHeaders(fih);
}
successful = true;
return items;
} catch (FileUploadIOException e) {
throw (FileUploadException) e.getCause();
} catch (IOException e) {
throw new FileUploadException(e.getMessage(), e);
} finally {
if (!successful) {
for (FileItem fileItem : items) {
try {
fileItem.delete();
} catch (Throwable e) {
// ignore it
}
}
}
}
}
Когда я debuged в temp_file создается именно при отладке была остановлена на successful = true;
Есть ли способ в Jboss отключить файл параметры создания orsome настроить?
пыльник следовать мой код, где я призываю parseRequest
try {
List<String> files = new ArrayList<>();
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setProgressListener(listener);
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();