0

私は ASP.NET と C# で作業しています。

アプリケーションにFileuploadコントロールがあります。アップロード中に画像の保存パス (ハードディスク上) を変更したい。どうすればいいですか。

C# コード:

     string filename = Path.GetFileName(fileuploadimages.PostedFile.FileName);
    //Save images into Images folder
    fileuploadimages.SaveAs(Server.MapPath("**~/database/**" + filename));
    //Getting dbconnection from web.config connectionstring
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
    //Open the database connection
    con.Open();
    //Query to insert images path and name into database
    SqlCommand cmd = new SqlCommand("Insert into tblImageupload1(Imagename,Imagepath) values(@ImageName,@ImagePath)", con);
    //Passing parameters to query
    cmd.Parameters.AddWithValue("@Imagename", filename);
    cmd.Parameters.AddWithValue("@Imagepath", "../Database/" + filename);
    //cmd.Parameters.Add("@price");
    cmd.ExecuteNonQuery();
    //Close dbconnection
    con.Close();

~/database/:アップロード中にパスを動的に変更したい。

4

1 に答える 1

1

「アップロード中に変更が必要です。画像の種類ごとに別のフォルダーがあるため」と言うので、おそらく画像の種類を検出する方法があります。現在アップロードされている画像のタイプを検出し、それを変数に格納したとしますimagetype

string imagetype = ""; // type of image is here, i.e. "Bird", "Forest", "Mountain"

string imagepath = "/images";
switch (imagetype)
{
  case "Bird": imagepath = "/ImagesOfBirds"; break;
  case "Forest": imagepath = "/ImagesOfForests"; break;
  case "Mountain": imagepath = "/ImagesOfMountains"; break;
}

string path = Path.Combine(imagepath, filename);
fileuploadimages.SaveAs(path);
于 2013-01-25T07:51:07.587 に答える