0

spark フレームワークと freemarker を使用してファイルをアップロードする方法を作成しようとしていますが、.getPart メソッドでレンガの壁にぶつかっているようです。現在の freemarker コードは次のようになります。

<form method='post' enctype='multipart/form-data'>  
    <div>
        <input type='file' name='uploadedFile'>
        <button>Upload csv</button>
    </div>
</form>

私のspark Javaポストメソッドコードは次のようになります:

post(new Route("/pdf", "multipart/form-data") {
        @Override
        public Object handle(Request request, Response response) {
            String name = null;


            File upLoadM = new File("messages/");

            Path tempFile = null;
            Part file = null;

            try {
                tempFile = Files.createTempFile(upLoadM.toPath(), "", "");
                    System.out.println(tempFile);
            } 
            catch (IOException e1) {
                e1.printStackTrace();
            }


            request.attribute("org.eclipse.jetty.multipartConfig", new MultipartConfigElement("/temp"));

            try {
                file = request.raw().getPart("uploadedFile");
                System.out.println(file);
            } 
            catch (IOException | ServletException e1) {
                e1.printStackTrace();
            }

            try (InputStream input = file.getInputStream()) {
                Files.copy(input, tempFile, StandardCopyOption.REPLACE_EXISTING);
            } 
            catch (IOException e) {
                e.printStackTrace();
            }


            response.status(201);
            response.redirect("/pdf");
            return "";
        }
    });

アップロード ボタンを押すと、500 内部エラーが発生します。.getPart メソッドでクラッシュする理由がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

コード行を微調整すると、機能していることがわかります。

request.attribute("org.eclipse.jetty.multipartConfig", new MultipartConfigElement("/temp")); 

request.attribute("org.eclipse.multipartConfig", new MultipartConfigElement("/temp"));
于 2016-11-30T21:50:09.847 に答える