ASHX画像のアップロード

マルチ画像アップロード方法最初の呼び出しを容易にするために、我々は写真がメソッドを引き出さアップロードします 

新しいメソッドASHXを作成します。

使用してシステムを。
使用してSystem.Collections.Genericを。
使用System.Drawingを。
使用してSystem.Drawing.Imagingを。
使用してSystem.IOを。
使用してSystem.Linqのを。
使用してのSystem.Webを。

名前空間TaoTong 
{ 
    ///  <要約> 
    /// ImgUpLoad的摘要说明
     ///  </要約> 
    パブリック クラスImgUpLoad:IHTTPハンドラ
    { 

        公共 のprocessRequest(のHttpContextコンテキスト)
        { 
            context.Response.ContentType = " text / plainの" ;
            context.Response.Write(" Hello Worldの" ); 
        } 

        公共 BOOL IsReusable 
        { 
            GET 
            { 
                リターン falseにする; 
            } 
        } 
        ///  <要約> 
        /// 画像を画像蓄積サーバにアップロードし、保存されたURLの相対パスを返し
         ///  <を/要約> 
        ///  <PARAM NAME = "文脈"> </ param>の
        ///  <PARAM NAME = "ファイル"> </ param>の
        ///  <戻り値> </戻り値> 
        公共の 文字列ImgUp(のHttpContextコンテキスト)
        { 
            // 最初のファイルのアップロード
            ファイル= context.Request.Files HttpPostedFile [ 0 ];
             // イメージ名の取得
            文字列を imgName = file.FileName;
             // 画像の拡張子を取得
            文字列 ImgExtention = System.IO.Path.GetExtension(imgNameを);
             // 写真バイト容器の配列に格納されたストリームファイル 
            ストリームstream = file.InputStream;
             // 画像の画像ストリームに画像ファイルを変換は、オブジェクト 
            画像IMG = Image.FromStream(ストリーム); 

            //は、サーバ上で画像を保存

            // 画像を防止します私たちは名前の乱数使用する名前を繰り返し 
            ランダムRAN = 新しい新しいランダム((int型)DateTime.Now.Ticksを)。
            // 日付によって格納されたディレクトリに格納されたピクチャ
            文字列サブパス= / imgUploads /  + DateTime.Now.ToString(YYYYMMDD )+ /  ; // 20190928
             // のイメージ保存するディレクトリへの絶対パス
            文字列のパス= コンテキストを.Server.MapPath(サブパス);
             //は、フォルダパスが存在しない場合、フォルダを作成する
            場合偽の ==のSystem.IO.Directory.Exists(パス))
            { 
                // フォルダのPIC作成
                System.IO.Directory.CreateDirectoryを(パス); 
            } 
            文字列 imgName ran.Next(=99999)+ ImgExtention;
              ServerPath = + imgName経路; // ファイルの場所と名前
            ストリング imgpath + =サブパスimgName;
             試み
            { 
                img.Save(ServerPath); 
                戻りimgpath; 
            } 
            キャッチ
            { 
                リターン "" ; 
            } 
        } 

    } 
}

 

相対パスは、画像をアップロードしたあなたはここに記載された方法を使用する必要がある上記の方法を呼び出すために写真をアップロードする画像のアップロード方法は、リターンで受信することができます

   
            ImgUpLoad負荷 = 新しいImgUpLoad();
            ストリング imgUrl = load.ImgUp(コンテキスト)。

 

おすすめ

転載: www.cnblogs.com/taikongbai/p/11770379.html