YUI Uploader с бэкэндом Java - PullRequest
0 голосов
/ 13 июня 2009

Я пытаюсь использовать (на основе флеш-памяти) YUI Uploader с серверной частью на Java (на основе Spring).

Типичный способ загрузки файлов в мире сервлетов Java - установить ENCTYPE='multipart/form-data' в форме HTML, запрашивающей файл у пользователя. С помощью правильных серверных API (т.е. Commons FileUpload ) можно получить файл на сервере.

Но я застрял в том, как этого добиться с помощью YUI Uploader. Я могу получить доступ к контроллеру Java и даже могу извлечь пользовательские значения записей. Но я понятия не имею, как извлечь данные двоичного файла из запроса.

Кому-нибудь повезло с загрузчиком YUI с бэкэндом Java?

1 Ответ

2 голосов
/ 15 июня 2009

Чтобы ответить на мой собственный вопрос и, если коротко, этот фрагмент кода добился цели:

@Controller
@RequestMapping("/FileUploadController")
public class FileUploadController {

    @RequestMapping(method = RequestMethod.POST)
    protected ModelAndView onSubmit(HttpServletRequest request) throws Exception{
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> /* FileItem */ items = upload.parseRequest(request);

        for (FileItem fileItem : items) {
            if (fileItem.isFormField()) {
//                processFormField(fileItem);
            } else {
                File uploadedFile = new File("/tmp/junk/" + fileItem.getName());
                fileItem.write(uploadedFile);
            }
        }
        return new ModelAndView("index");
    }
}

В этом примере используется Spring, но вы должны делать то же самое, если у вас есть объект HttpServletRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...