Request.Files
JsonResult
プライベート読み取り専用IFileService _fileService = new FileServiceStub ( ) ;/// <summary>///サーバーへのアップロードファイルの処理。/// </ summary>/// <returns>ファイル名のリストを含むJSON結果</ returns>[ HttpPost ]public JsonResult UploadFiles ( ){ICollection < string > collection = _fileService。 アップロード (リクエスト。 ファイル ) ;新しい JsonResultを返す{ContentType = "text / html" 、データ= 新規 {コレクション}} ;}
< form id = "upload-files" action = "/ File / UploadFiles" method = "post" enctype = "multipart / form-data" >< div >ファイルのアップロード:< 入力 クラス = "multi-file-upload" タイプ = "ファイル" name = "ファイル" / > < / / div >< 入力 タイプ = 「送信」 値 = 「ダウンロード」 > < / / 入力 >< / フォーム ><!-出力メッセージのダウンロードの場所->< div id = "messages" > < / / div >< h3 >ダウンロードしたファイルの一覧< / / h3 >< ol id = "file-list" > < / / ol >
//ドキュメントが完全にロードされるとコードを実行します。$ (ドキュメント) 。 準備完了 ( 関数 ( ) {var form = $ ( '#upload-files' ) ; //フォームをダウンロードします。var messages = $ ( '#messages' ) ; //通知領域。var list = $ ( '#file-list' ) ; //ダウンロード済みのファイルのリスト。// MultiFileをカスタマイズします。$ ( '.multi-file-upload' ) 。 MultiFile ( {max : 5 、 //一度にダウンロードされるファイルの数。STRING : { //改行。 htmlコード(たとえば、写真)を埋め込むことができます。remove : 'Remove' 、selected : 「選択:$ file」 、拒否されました: '無効な拡張子:$ ext!' 、duplicate : 'このファイルは既に選択されています: \ n $ファイル!'}} ) ;// ajaxFormを設定しますフォーム。 ajaxForm ( {iframe : true 、 // iframeを使用して送信します。dataType : "json" 、 // jsonを使用して交換します。//ファイルを送信する前に実行します。beforeSubmit : function ( ) {// submitがjavascriptから呼び出された場合、次の行のコメントを解除します。// $。fn.MultiFile.disableEmpty();//ダウンロードメッセージを表示します。 ここにjQuery.blockUIをねじ込む方が良いのですが、わかりやすくするために残しておきます。メッセージ。 html ( '<img src = "/ Content / busy.gif" />ファイルのダウンロード...' ) ;} 、//成功に関する応答を受け取った後に実行します。成功: 関数 (結果) {// submitがjavascriptから呼び出された場合、次の行のコメントを解除します。// $。fn.MultiFile.reEnableEmpty();//ファイルアップロードフォームをクリアします。$ ( '.multi-file-upload' ) 。 MultiFile ( 'reset' ) ;//ダウンロードメッセージを消去します。メッセージ。 空 ( ) ;//アップロードされたファイルの一般的なリストに新しいアップロードされたファイルを追加します。if ( result。collection。length > 0 ) {$。 each ( result。collection 、 function ( i ) {リスト。 append ( '<li>' + this + '</ li>' ) ;} ) ;}} 、//エラー時に実行します。エラー: 関数 ( xhr 、 textStatus 、 errorThrown ) {//ファイルアップロードフォームをクリアします。$ ( '.multi-file-upload' ) 。 MultiFile ( 'reset' ) ;alert ( 'ファイルのダウンロード中にエラーが発生しました:' + errorThrown ) ;}} ) ;} ) ;
<!-ファイルアップロードフォーム。 任意の場合があります。 ->< div id = "file_upload_button" ><a href = "#"> </a>新しいファイルを追加します。 < / div >< div id = " uploading " style = "display:none" > < img src = "/Content/busy.gif" alt = "Download" align = "left" / >ダウンロード中。 < / div ><!-ダウンロードしたファイルのリスト->< ol class = "files" > < / / ol >
$ (ドキュメント) 。 準備完了 ( 関数 ( ) {新しい AjaxUpload ( $ ( '#file_upload_button' ) 、{//選択後すぐにファイルを送信するかどうかautoSubmit : true 、//送信先アクション: '/ File / UploadFiles' 、//ファイルを保存する変数の名前。名前 : 'myfile' 、//サーバー応答のタイプ。応答: 'json' 、//ファイルをアップロードする前に起動します// falseを返してキャンセルすることもできます。onSubmit : function ( file 、 extension ) {//ファイルを選択するための「ボタン」を非表示にします。$ ( '#file_upload_button' ) 。 hide ( ) ;//ダウンロードメッセージを表示します。$ ( '#uploading' ) 。 show ( ) ;// 1つのファイルのみをアップロードする必要がある場合://this.disable();} 、//サーバーから応答を受信した後に実行されます。// fileは、クライアントが指定したファイルの名前です。//応答-サーバーの応答。onComplete : function ( file 、 response ) {$ ( '#file_upload_button' ) 。 show ( ) ;$ ( '#uploading' ) 。 hide ( ) ;// javascriptオブジェクトを取得します。var resultObject = eval ( '(' + response + ')' ) ;//アップロードされた新しいファイルを一般リストに追加します。if ( resultObject。collection。length > 0 ) {$。 each ( resultObject。collection 、 function ( i ) {$ ( '.files' ) 。 append ( '<li>' + this + '</ li>' ) ;} ) ;}}} ) ;} ) ;
<input type="file"...
Source: https://habr.com/ru/post/J70249/More articles:管理者にインタビューした方法ESET NOD32 Mobile-プロアクティブな防御技術を備えたモバイルデバイス向けロシア初のウイルス対策YandexがSmartComを買収CRCおよびセル番号永久運動機械BBCは、100万時間のアーカイブされた放送をインターネットに公開しますギャップパターン! 店は罰せられます!他のサイトで腹立たしいことをするように求められます。 お金はいいです。 仕事はささいなものです。Google AppEngineを使用する必要がありますか?天の川All Articles