第六に、アップロードの写真

まず、画像のアップロードやファイルのアップロード

背景コード:

        // 上传图片
        [HttpPost]
         公共 非同期タスク<IActionResult> UploadImage([FromForm(名前= " ファイル")] IFormFileファイル、文字列の名前、文字列のパスワード)
        { 
            文字列のurl = 文字列.Empty。
            試す
            { 
                DbContextデシベル = 新しいDbContext(); 

                ユーザーユーザー = db.Db.Queryable <ユーザ>()(P => p.UserName ==。名)1次回();
                // T_AccountModel UserAccountの= db.Db.Context..FirstOrDefault(トン=> t.UserName ==アカウント)。
                もし(!ユーザー= ヌル
                { 
                    リターン JSON(新しい {国家= falseを、コード= 0、メッセージ= " 该用户名已被注册!"、時間= DateTime.Now.ToString()}); 
                } 
                // 图片上传
                日付= DateTime.Now.ToString(" YYYY-MM-DD " )。
                URL = " /アップロード/ " +日付+ " / " ;
                文字列のパス= Path.Combine(Environment.CurrentDirectory、"アップロード、DATE);
                 IF!)(System.IO.Directory.Exists(パス)// アップロードパスが存在するかどうかを決定する
                { 
                    System.IO.Directory.CreateDirectory(パス); 
                } 
                文字列 filePathに= 文字.Empty;
                  fileNameに= ストリング.Empty;
                 IF(File.length> 0 
                { 
                    // 精細画像サフィックスアレイフォーマット
                    ストリング [] = {LimitPictureType " .JPG "" .JPEG ".GIF" " .PNG " " .BMP " };
                     文字列 FILEFORMAT = System.IO.Path.GetExtension(file.FileName).ToUpper(); // ファイル形式の接尾辞を取得
                    IF (LimitPictureType.Contains(FILEFORMAT))
                    { 
                        fileNameに。= Guid.NewGuid()のToString(" N- ")+ FILEFORMAT; 
                        filePathに = Path.Combine(パス、ファイル名); // 独自のファイル形式の中間処理 
                        URL URL + = ファイル名;
                         使用VARストリーム= 新しいFileStreamを(filePathに、FileMode.Create))
                        { 
                            試み
                            { 
                                // 保存文件
                                のawait file.CopyToAsync(ストリーム); 
                            } 
                            キャッチ(例外例)
                            { 
                                リターン(JSON 新しい {国家= falseを、データ= 新しい {SRC = URL}、コード= 0、メッセージ= " !文件保存失败"、時間= DateTime.Now.ToString()}); 
                            } 
                        } 
                    } 
                    
                    { 
                        リターン JSON(新しい新しい {=国家falseに、コード= 0、メッセージ= " !の画像形式を指定し、アップロードしてください"、時間= DateTime.Now.ToString()}); 
                    } 
                } 

                //
             }
             キャッチ(例外E)
            { 
                トレース.WriteLine(" 例外:" + E); 
            } 
            戻り JSON(新しい新しい {=州falseに、コード= 0、データ= 新しい新しい {} URL SRC =、=メッセージを" 图片上传成功!"、時間= DateTime.Now.ToString()}); 
        } 


        // 上传文件
        [HttpPost]
         公共 非同期タスク<IActionResult> UploadFile([FromForm(NAME = " ファイル")] IFormFileファイル、文字列名、文字列パスワード)
        { 
            文字列のURL = ストリング.Empty。
            試す
            { 
                DbContextデシベル = 新しいDbContext(); 

                ユーザーのユーザー = db.Db.Queryable <ユーザ>()。ここで、(P => p.UserName ==まず名前();
                // T_AccountModel UserAccountの= db.Db.Context..FirstOrDefault(トン=> t.UserName ==アカウント)。
                もし(!ユーザー= ヌル
                { 
                    リターン JSON(新しい {国家= falseを、コード= 0、メッセージ= " 该用户名已被注册!"、時間= DateTime.Now.ToString()}); 
                } 
                // 文件上传
                日付= DateTime.Now.ToString(" YYYY-MM-DD " )。
                URL = " /アップロード/ " +日付+ / " ;
                 文字列のパス= Path.Combine(Environment.CurrentDirectory、" アップロード、日付);
                 場合(!System.IO.Directory.Exists(パス))// 判断上传路径是否存在
                { 
                    System.IO.Directory.CreateDirectory (パス); 
                } 
                ストリング filePathに= ストリング.Empty;
                  fileNameに= ストリング.Empty;
                 もし(file.Length> 0 
                { 
                    ストリング= System.IO.Path.GetExtension FILEFORMAT(file.FileName).ToUpper(); // ファイル形式を取得サフィックス 
                    fileNameに= Guid.NewGuid()ToStringメソッド(。" N- ")+ FILEFORMAT; 
                    filePathに = Path.Combine(パス、 fileNameに); // 独自のファイル形式の中間処理 
                    URL URL + = ファイル名;
                     使用VARストリーム= 新しい新しいFileStreamを(filePathに、FileMode.Create))
                    { 
                        試み
                        { 
                            // ファイルの保存
                            のawait file.CopyToAsync(ストリーム); 
                        } 
                        キャッチ(例外例)
                        { 
                            リターン(JSON 新しい {国家= falseを、データ= 新しい {SRC = URL}、コード= 0、メッセージ= " !文件保存失败"、時間= DateTime.Now.ToString()}); 
                        } 
                    } 

                } 
                //
             }
             キャッチ(例外e)
            { 
                Trace.WriteLine(" 异常:" + E)。
            } 
            を返す JSONを(新しい {状態= 、コード= 0、データ= 新しい新しい {SRC = URL、名前= file.FileName}、メッセージは= " 画像が正常にアップロード!"、時間= DateTime.Now.ToString()}); 
        }

レセプションコード

                    //写真・インターフェース(以下、返されるデータの形式を参照)、画像のアップロードを開いていない場合、あなたは排除することができます
                    uploadImage:{ 
                        URL:「/ LayIM / UploadImage」、//インターフェイスアドレス
                        の種類:「ポスト」//デフォルトのポストを
                    } 
                    //アップロードファイルインターフェース(データ形式は以下返される)、ファイルが削除する、オープンアップロード場合
                    uploadFile:{ 
                        URL:「/ LayIM / uploadFile」、インターフェースの//アドレス
                        タイプ:「ポスト」//をデフォルトのPOSTが
                    }、
                    //以下の拡張ツールバーは、さらに(削除することができ、拡大なしの場合)ご紹介します
                    ツール:[{ 
                        別名:「コード」、//ツールエイリアス
                        タイトル:「コード」、//ツールの名前
                        アイコン: "&#Xe64e;「//ツールアイコン、アイコンの参照文書
                    }]、

モニターのツールバー

                //は、例のようなコードを追加するためにクリックして、ツールバーのカスタム聴く
                ツールが固定されている文字layim.on(「ツール(コード」) 、機能(挿入、センド、OBJ){// コードはフィルターた間、イベントを、対応するツールは、エイリアス(別名)である
                    layer.prompt({ 
                        'コードを挿入'タイトル
                        、にformType:2 
                        、シェード:0 
                    }、関数(テキスト、インデックス){ 
                        layer.close(インデックス); 
                        挿入(「[クラスプレ= layuiコード] '+テキスト +' [/プレ]「); // エディタにコンテンツ、主挿入完了により
                        (//送信); //自動変速
                    })
                    はconsole.log(本) //現在のツールDOMオブジェクトの取得
                    はconsole.log(OBJを); //現在のセッション・ウィンドウのDOMオブジェクト、基本的な情報を得ます
                }); 
                準備の//端

 

おすすめ

転載: www.cnblogs.com/fger/p/11834064.html