1

JAX RS でファイル転送を行っています - ジャージ マルチパートを使用します。
問題は、応答によってサイトが変更される理由がよくわからないことです。通常の XHR 要求のようなフォームをサイトにとどめたいだけで、コールバックで通知を受ける方法が必要です。しかし、これを行う方法が見つかりませんか?

HTML:

   <form action="resources/picture/upload" method="post" enctype="multipart/form-data">
        <p>
            Select a Category : <select id="cat" name="cat"> <option value="1234">Icons</option></select>
        </p>
        <p>
            Select an image : <input type="file" name="file"/>
        </p>
        <input type="hidden" id="appId" name="appId" value="1"/>
        <input type="submit" value="Upload It" onclick=" NewPicture()" />
    </form>

ジャックス RS:

@POST
@Path("/upload/{pictureId}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response overrideExistingFile(
        @FormDataParam("file") InputStream uploadedInputStream,
        @FormDataParam("file") FormDataContentDisposition fileDetail,
        @PathParam("pictureId") Long pictureId) {
    Picture oldPicture = repository.get(Picture.class, pictureId);
    String uploadedFileLocation = oldPicture.getUrl();
    File file = writeToFile(uploadedInputStream, uploadedFileLocation, true);
    if (file != null) {
        System.out.println("File attempted saved @ " + file.getAbsolutePath());
    }
    return Response.status(200).build();
}
4

1 に答える 1

0

私はあなたの問題の1つであるファイルをアップロードした後のリダイレクトの解決策を持っています

ファイルのアップロード後にリダイレクトしたくない場合は、メソッドからreturnステートメントを削除overrideExistingFileし、そのメソッドのreturnタイプとしてvoidを記述します。お気に入り

public void overrideExistingFile(){
...
}

それでも、iframeでアップロードボックスを開き、リダイレクトせずにframe.parentを使用して通知を受け取るよりも、通知を受け取りたい場合。

于 2012-12-08T11:22:25.037 に答える