ASPでNET WebFormのFileUploadコントロールアップロードファイル

2308 ワード

1.アップロード画像、すなわちアップロードファイルを制限接尾辞名は.jpg、.png、.gif等
 
            if (FileUpload1.HasFile == true)

            {

                string fileName = FileUpload1.FileName;

                string savePath = Server.MapPath("~/upload") + "\\" + fileName;

                string fileNameWithoutExt = fileName.Substring(0, fileName.LastIndexOf('.'));

                //Response.Write(fileNameWithoutExt);

                string ext = Path.GetExtension(savePath).ToLower();



                if (ext == ".jpg" || ext == ".png" || ext == ".bmp" || ext == ".gif" || ext == ".tif" || ext == ".jpeg")

                {

                    if (File.Exists(savePath))

                    {

                        //      

                        //                        ,                     

                        Response.Write("       ");

                        return;

                    }

                    FileUpload1.SaveAs(savePath);

                    //       savePath      ,           Path.GetFileName()

                    //      ,            ,      VirtualPathUtility.ToAbsolute("~/upload") + "/" +    (    )

                    //      

                    Response.Write("Success");

                }

                else

                {

                    Response.Write("Failed");

                    //      

                }

 
2.アップロードファイルのサイズを制限する
 
            //            ,         1M

            if (FileUpload1.PostedFile.ContentLength > 1024000)

            {

                fileOk = false;

            }

3.重複処理
 
①同じ名前を提示し、ユーザーの名前を変更する必要がある
②利用時間の年月日時分秒ミリ秒でファイル名を生成
③宛先フォルダ:File
一時フォルダ:TempはFileフォルダの下で同名があるかどうかを判断して、あり、javascriptでユーザーに問い合わせて、ユーザーの選択を記録して、上はTempフォルダに伝わって、別のページに移動して、ユーザーの選択を取得して、擁護して上書きを選択してファイルをFileの下に移動して、さもなくばファイルを削除します
④checkBox(同名ファイルを上書きするかどうか)を追加します.ユーザーが「checkBoxの上書き」を選択しておらず、同じ名前のファイルがある場合.では、「アップロードに失敗しました.同じ名前のファイルが存在します.名前を変えてからアップロードを再アップロードするか、アップロードを上書きするかを選択してください」と直接ヒントを与えます.アップロードの自動名前変更が許可され、同名のファイルに遭遇した場合、現在の日付+時間+ファイル拡張子(もしあれば)をファイル名として取り、ファイルをアップロードできます. 
⑤...