私は、クライアントからサーバーへのform
のinput
タグで渡す必要がある非常に大きなStringを持っています。アップロードは次のようになり、一方、JavascriptでSpring Controllerにアップロードするためのファイルを作成します。
document.getElementById("editorText").value = quill.getText();
:
<form action="/someEndpoint" method="post">
<input class="btn btn-success btn-lg" style="margin-top: 15px;" type="submit" th:value="#{mSave}"/>
<textarea style="visibility:hidden" id="editorText" name="editorText"></textarea>
</form>
これに伴う問題は、アップロードがときに、このように動作しないことです今まで私はちょうどこのようなJavaScriptのVARとして、それを渡されましたquill.getText()
が大きすぎます。私はマルチパートファイルを介してアップロードを処理したいと思います。
だから私はこのケースで必要なものを、quill.getText()
からテキストを取るjavascriptのコードである。このように見えるコントローラエンドポイントに上記のHTML form
でアップロードするファイル(好ましくは.xmlファイル)とサーバーにこのファイルを作成します。
@RequestMapping(value = "/someEndpoint", method = RequestMethod.POST)
public String handleFileUpload(final Model model, @RequestParam("editorText") String editorText){
//handling stuff
}
私はvar xml = jQuery.parseXML(quill.getText())
の行に沿って何か試しましたが、静かに動作させることはできませんでした。 アップロードのために文字列を.xmlファイルにパックする最も簡単な方法は何ですか?
PS:変更テキストフィールドにHTML input
:quill.getText()
はthisライブラリ
編集1を参照しています。
私もまだこの可能性について考えていませんでした!私は試しましたが、動作させることができませんでしたが、バックエンドは依然として必要なパラメータがないという例外を投げています。 –
興味深い!フォーム内に ''のようなテキストエリアを作成し、 '@RequestParam(" quillText ")String quillText'として取得しようとすると、それはあなたに何を与えるのですか? – amdg
私はあなたのヒントに従って、私がそれを変更した方法で私の質問のhtmlを編集しました。このように、私はバックエンドで以下の例外を受け取ります: 'org.springframework.web.bind.MissingServletRequestParameterException:必須の文字列パラメータ 'editorText'が存在しません。 ' –