フロントエンドテストページコード:<テンプレート> <div> <input type="file" name="file" @change="change($event)"> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 作成された(){ this.path = this.$route.query; for (let i in this.path) { this[i] = decodeURIComponent(this.path[i]); } }, 方法:{ 変更(ev){ ファイルをev.target.files[0]とします。 size = file.size とします。 name = file.name;とします。 サイズが314572800より大きい場合 this.$message.warning('アップロードされたファイルは300MBを超えることはできません'); 戻る; } formData を新しい FormData() にします。 formData.append('ファイル',ファイル,名前) this.$axios.post('/JT3'+this.getddRecordDelete,formData,{ ヘッダー:{"Content-Type":"multipart/form-data"} })。次に(データ=>{ コンソールにログ出力します。 }) } } } </スクリプト> <スタイルスコープ> </スタイル> バックエンドサーブレット受信コードパッケージ jt3.control.zygkh; java.io.File をインポートします。 java.io.FileOutputStream をインポートします。 java.io.IOException をインポートします。 java.io.InputStream をインポートします。 java.util.List をインポートします。 javax.servlet.ServletException をインポートします。 javax.servlet.annotation.WebServlet をインポートします。 javax.servlet.http.HttpServlet をインポートします。 javax.servlet.http.HttpServletRequest をインポートします。 javax.servlet.http.HttpServletResponse をインポートします。 org.apache.commons.fileupload.FileItem をインポートします。 org.apache.commons.fileupload.FileUploadException をインポートします。 org.apache.commons.fileupload.disk.DiskFileItemFactory をインポートします。 org.apache.commons.fileupload.servlet.ServletFileUpload をインポートします。 jtacc.filter.JTKit をインポートします。 jtacc.jtpub.DT をインポートします。 @WebServlet(urlPatterns = "/upfile/file") パブリッククラスUploadServletはHttpServletを拡張します{ プライベート静的最終long serialVersionUID = 1L; protected void doGet(HttpServletRequest リクエスト、HttpServletResponse レスポンス) は ServletException、IOException をスローします { システム.out.println(11); this.doPost(リクエスト、レスポンス); } 保護された void doPost(HttpServletRequest リクエスト、HttpServletResponse レスポンス) は ServletException、IOException をスローします { String uri="/u/file/"+DT.getFormatDate("yyyyMMdd")+"/"; // パスを定義します String tmpPath=JTKit.getBaseDIR()+uri; // これは個人プロジェクト パスです。必要に応じてパスを定義します DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(tmpPath));//一時ファイル保存パス ServletFileUpload fileUpload = new ServletFileUpload(factory);//コア操作オブジェクト fileUpload.setHeaderEncoding("utf-8");//文字化け防止コード try { // リアルタイムで変換を強制したい場合は、jar パッケージ (commons-fileupload-1.3.3.jar) をダウンロードする必要があります。 リスト<FileItem> リスト = fileUpload.parseRequest(request); for (FileItem ファイルアイテム: リスト) { 入力ストリーム in = fileItem.getInputStream(); 文字列ファイル名 = fileItem.getName(); ファイルアイテムが null の場合 System.out.println(ファイル名); 長さ = 0; byte[]配列 = 新しいbyte[1024]; FileOutputStream fos = 新しい FileOutputStream(tmpPath+ファイル名); while((len = in.read(array))!=-1){// fos.write(array,0,len); ごとに最大 1024 バイトを読み取ることができることを示します。 fos.flush(); } fos.close(); in.close(); ファイルアイテムを削除します。 レスポンス.setCharacterEncoding("UTF-8"); 文字列 realPath = uri+ファイル名; レスポンス.getWriter().append(realPath); } } } キャッチ (FileUploadException e) { // TODO 自動生成されたキャッチブロック e.printStackTrace(); } } } テスト結果 補足: サーブレットはフォームから送信されたデータを取得します サーブレットの doPost メソッド内:保護された void doPost(HttpServletRequest リクエスト、HttpServletResponse レスポンス) は ServletException、IOException をスローします { } フォーム データを取得するには、まず、中国語の文字化けの問題を防ぐために、リクエストのエンコードを「UTF-8」に設定する必要があります。 リクエスト.setCharacterEncoding("utf-8"); 単一の文字列を取得する方法:文字列 username = request.getParameter("username"); 文字列配列を取得する方法:文字列[] お気に入り = request.getParameterValues("お気に入り"); 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: Dockerコンテナでアプリケーションサービスを自動的に起動する方法の例
>>: MAC で MySQL の初期パスワードを変更する方法
注:この記事は他の人によって翻訳されていますが、考えるべき点が多く、理解しにくい点もあると感じていま...
最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...
この記事では、divのドラッグ可能な高さを実現するためのVueの具体的なコードを参考までに共有します...
HTML フォームは、名前、電子メール アドレス、場所、年齢などのユーザー情報を収集するためによく使...
目次実装効果図依存関係をインストールするカスタムツリーコントロールその他の実装要約するVueでは、要...
この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...
1. concat() 関数機能: 複数の文字列を 1 つの文字列に連結する構文: concat(s...
概要: 多くの企業、特にインターネット Web サイトを主な事業とする企業のほとんどが、「アーティス...
序文この記事を始める前に、複数選択の質問をしてみましょう。フロントエンド開発でビルド ツールを使用す...
目次Web コンテナとは何ですか? HTTP の性質HTTP リクエスト応答の例クッキーとセッション...
この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...
ページ A、B、C の 3 つがあります。ページ A にはページ B が含まれ、ページ B にはペー...
序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...
1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...
提案: コードをできるだけ手書きすると、学習の効率と深さを効果的に向上できます。デフォルトでは、&l...