楽屋
輸入JSON django.shortcutsからレンダリング、HttpResponseに、HttpResponseRedirectインポート インポートのOS インポートのJSON BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__ FILE__))) デフ(要求)をアップロードします。 request.method場合== 'GET': リターンは(要求、 'form.html')をレンダリングし 、他: FILE_NAME = request.POST.get( 'ユーザー') PWD = request.POST.get( 'PWD') file_obj = request.FILES.get ( 'ファイル') 、F =オープン(os.path.join(BASE_DIR、 '静的'、 '画像'、file_nameに+ 'PNG')、 'WB') #プリント(file_obj、タイプ(file_obj)) file_objにおけるチャンクの.chunks(): F。書き込み(チャンク) f.close() MSG = { 'ステータス':真、 'MSG': '上传成功'、 'fileNameに':FILE_NAME、 'PWD':PWD } 戻りのHttpResponse(json.dumps(MSG)) デフmorefiles(リクエスト): request.methodもし== 'GET': リターン(要求、 'morefile.html')レンダリング 他: FILE_NAME = request.POST.get( 'ユーザ名') PWD = request.POST.get( 'パスワード') #获取单个文件 #file_obj = request.FILES.get( 'ファイル') プリント(file_nameに、PWD) #获取多个文件对象 ファイル= request.FILES.getlist( 'ファイル') プリント(ファイル) ファイル内のfに対する: 先=オープン(os.path.join(BASE_DIR、 '静的'、 '画像'、f.name)、 '+ WB') f.chunksにおけるチャンクの(): destination.write(チャンク) destination.close() MSG = { 'ステータス' 200、 'MSG': '上传成功' # 'fileNameに':FILE_NAME、 #'PWD':PWD } 戻りのHttpResponse(json.dumps(MSG))
フロント
<HTML> <HEAD> <TITLE>ログインテスト</ TITLE> <META HTTP-当量= "Content-Typeの"コンテンツ= "text / htmlの;のcharset = UTF-8"> <META HTTP-当量= "プラグマ"コンテンツ= "ノーキャッシュ"> <META HTTP-当量= "キャッシュ・コントロール"コンテンツ= "ノーキャッシュは"> <META HTTP-当量=内容= "0"> "無期限" <META HTTP-当量= "キーワードを"コンテンツ= "KEYWORD1、KEYWORD2、KEYWORD3"> <META HTTP-当量= "説明"コンテンツ= "AJAX方式"> <! - <スクリプトSRC = "http://apps.bdimg.com/libs/jquery/2.1 0.4 / jquery.min.js "> </ SCRIPT> - > <スクリプトSRC =" HTTPS://ajax.aspnetcdn。COM / AJAX / jqueryの/ jqueryの-1.8.3.min.js "> </ SCRIPT> <スクリプトタイプ="テキスト/ javascriptの"> $は、(関数(){ 、Filelistをせ= []; 聞かせてファイル=の$( "#ファイル"); files.on( "変更"、関数(イベント){ ため(VAR i = 0; iはファイルを[0] .files.lengthを<; Iは++){ fileList.push(ファイル[0] .files [I]); } console.log(のfileList) })。 。$( "#ログイン")をクリックします(関数(){ FORMDATA =新しいいるFormDataを()しましょう。 fileList.forEach(機能(ファイル、インデックス){ ; formData.append( 'ファイル'、ファイル、file.name) )} formData.append( "userNameに"、$( "#userNameを")。valを()) formData.append( "パスワード"、$(」 //几个参数需要注意一下 タイプ: "POST"、//メソッドの型 データ型: "JSON"、//サーバから返されたデータの期待タイプ URL: "/ morefiles /"、URL // データ:FORMDATA、 contentTypeの:falseに、 PROCESSDATA:falseに、 成功:機能(結果){ にconsole.log(結果); //印刷データは、(デバッグのために)サーバから返される (== 200 result.resultCodeある){IF アラート( "成功"); } ; }、 エラー:関数(){ 警告( "異常!"); } }); }) }) </ SCRIPT> </ head> <body> <DIV ID = "フォームDIV"> <フォームID = "Form1の"をonSubmit = "falseを返す" ACTION = "/" METHOD = "POST"のenctype = "マルチパート/フォームデータ"> <P>用户名:<入力されたID = "userNameに" NAME = "userNameに"タイプ= "テキスト" ID = "txtUserName"タブインデックス= "1"サイズ= "15"値= "" /> </ P> <P>密码:<INPUT ID = "PWD" NAME = "パスワード"タイプ= "パスワード" ID = "TextBox2を"タブインデックス= "2"サイズ= "16"値= "" /> </ P> <P>附件:<入力されたID =」 </ BODY> </ HTML>