PDA

View Full Version : سوال: ذخیره کردن آدرس عکس در دیتابیس



fatemeh.hosseini
چهارشنبه 06 شهریور 1392, 10:34 صبح
سلام . میخوام آدرس عکس رو تو دیتابیس ذخیره کنم. کد زیر رو نوشتم برای آپلود کردن عکس :
path = "~/Pic/" + FileUpload1.FileName;
path = Server.MapPath(path);
FileUpload1.SaveAs(path);


آدرس تو path ذخیره میشه.(به صورتC:\User\Fatemeh ... ) مگه نباید بعد از اجرا شدن این کد مقدار متغیر به صورت زیر باشه :

path= "~/Pic/filename"

و در ادامه برای ذخیره کردن آدرس عکس مقدار همین path رو تو فیلد عکسم تو دیتابیس ذخیره میکنم. اما هیچی ذخیره نمیکنه. چرا؟ data type فیلد عکس تو دیتابیسم
varchar(Max) هستش.

ممنون میشم کمکم کنید تا مشکلم رفع بشه

fakhravari
چهارشنبه 06 شهریور 1392, 10:43 صبح
ادرس های Server.MapPath که دیگه C:\User\ نداره از root پروژه ادرس میده
http://www.aspsnippets.com/Articles/Save-Files-to-SQL-Server-Database-using-FileUpload-Control.aspx

fatemeh.hosseini
چهارشنبه 06 شهریور 1392, 10:49 صبح
ادرس های Server.MapPath که دیگه C:\User\ نداره از root پروژه ادرس میده
http://www.aspsnippets.com/Articles/Save-Files-to-SQL-Server-Database-using-FileUpload-Control.aspx

بله از root آدرس میده. پس مشکل کار من کجاست که این اتفاق میفته؟

و بعد اینکه حالا واسه چی هیچی ذخیره نمیکنه؟ دیتا تایپی که نوشتم درسته؟

fakhravari
چهارشنبه 06 شهریور 1392, 11:39 صبح
NVarChar maxبهتره.
string pathImage = Server.MapPath(@"../img/");
string ImageFileName = System.IO.Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs(pathImage + ImageFileName);

fatemeh.hosseini
چهارشنبه 06 شهریور 1392, 12:32 عصر
NVarChar maxبهتره.
string pathImage = Server.MapPath(@"../img/");
string ImageFileName = System.IO.Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs(pathImage + ImageFileName);


این همه ی کدی هست که تو این صفحه دارم. اگه لطف کنید و بهش نگاه بندازید ممنون میشم:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class _Default : System.Web.UI.Page
{
string pathImage;
string ImageFileName;
DB _db = new DB();
protected void Page_Load(object sender, EventArgs e)
{


if (!IsPostBack)
{



DataSet ds = new DataSet();
SqlDataAdapter myda = new SqlDataAdapter("select name from sections ", _db.cnn);
myda.Fill(ds);
DropDownList1.DataSource = ds;
DropDownList1.DataValueField ="name" ;
DropDownList1.DataBind();

}
}

// این کد برای قسمت آپلود عکس هست
protected void Button6_Click(object sender, EventArgs e)
{

label4.Visible = false;
switch(Getext(FileUpload1.FileName).ToLower()){
case "bmp":
pathImage = Server.MapPath("~/Pic/");
ImageFileName = System.IO.Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs( pathImage + ImageFileName );
break;
/* case "png":
path = "~/Pic/" + FileUpload1.FileName;
path = Server.MapPath(path);

FileUpload1.SaveAs(path);
break;*/
case "jpg":
pathImage = Server.MapPath("~/Pic/");
ImageFileName = System.IO.Path.GetFileName(FileUpload1.FileName);
FileUpload1.PostedFile.SaveAs( pathImage + ImageFileName );
break;
/*case "gif":
path = "~/Pic/" + FileUpload1.FileName;
path = Server.MapPath(path);

FileUpload1.SaveAs(path);
break;*/
default:
label4.Visible = true;
break;
}

}
string Getext(string filename)
{
int index = filename.LastIndexOf(".");
string ext = filename.Substring(index + 1);
return ext;
}


protected void Button26_Click1(object sender, EventArgs e)
{
CKEditorControl2.Visible = true;
}

// این کد برای ذخیره کردن اطلاعات در دیتابیس است

protected void ImageButton2_Click1(object sender, ImageClickEventArgs e)
{

string path = pathImage + ImageFileName;
_db.cmd.CommandText =
"insert into articles(title , [tag line] , section , article , image ,[text-for-image] , TitleImage , auther , [create-date] , [auther-link] , [continue] , PermissionID ,publish ) values('" + TextBox1.Text + "' , '" + CKEditorControl1.Text + "' , '" + DropDownList1.SelectedValue + "' , '" + CKEditorControl2.Text + "' ,'" + path + "' , '" + TextBox2.Text + "' , '" + TextBox3.Text + "' , '" + TextBox4.Text + "' , '" + TextBox5.Text + "' , '" + TextBox9.Text + "' , '" + TextBox8.Text + "' , @RD ,'" + CheckBox1.Checked + "')";
if(RadioButton1.Checked)
_db.cmd.Parameters.AddWithValue("@RD", 1);
else
_db.cmd.Parameters.AddWithValue("@RD", 2);

_db.cmd.Connection=_db.cnn;
_db.cnn.Open();
_db.cmd.ExecuteNonQuery();
_db.cnn.Close();
Label18.Visible = true;
}
protected void ImageButton5_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("contents.aspx");
}
protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{
_db.cmd.CommandText =
"insert into articles(title , [tag line] , section , article , image ,[text-for-image] , TitleImage , auther , [create-date] , [auther-link] , [continue] , PermissionID , publish ) values('" + TextBox1.Text + "' , '" + CKEditorControl1.Text + "' , '" + DropDownList1.SelectedValue + "' , '" + FileUpload1.FileName + "' , '" + CKEditorControl2.Text + "' , '" + TextBox2.Text + "' , '" + TextBox3.Text + "' , '" + TextBox4.Text + "' , '" + TextBox5.Text + "' , '" + TextBox9.Text + "' , '" + TextBox8.Text + "' , @RD ,'" + CheckBox1.Checked + "')";
if (RadioButton1.Checked)
_db.cmd.Parameters.AddWithValue("@RD", 1);
else
_db.cmd.Parameters.AddWithValue("@RD", 2);

_db.cmd.Connection = _db.cnn;
_db.cnn.Open();
_db.cmd.ExecuteNonQuery();
_db.cnn.Close();
Response.Redirect("contents.aspx");
}
protected void ImageButton4_Click(object sender, ImageClickEventArgs e)
{
Label18.Visible = false;
_db.cmd.CommandText =
"insert into articles(title , [tag line] , section , article , image ,[text-for-image] , TitleImage , auther , [create-date] , [auther-link] , [continue] , PermissionID , publish ) values('" + TextBox1.Text + "' , '" + CKEditorControl1.Text + "' , '" + DropDownList1.SelectedValue + "' , '" + FileUpload1.FileName + "' , '" + CKEditorControl2.Text + "' , '" + TextBox2.Text + "' , '" + TextBox3.Text + "' , '" + TextBox4.Text + "' , '" + TextBox5.Text + "' , '" + TextBox9.Text + "' , '" + TextBox8.Text + "' , @RD ,'"+ CheckBox1.Checked +"')";
if (RadioButton1.Checked)
_db.cmd.Parameters.AddWithValue("@RD", 1);
else
_db.cmd.Parameters.AddWithValue("@RD", 2);

_db.cmd.Connection = _db.cnn;
_db.cnn.Open();
_db.cmd.ExecuteNonQuery();
_db.cnn.Close();
Label18.Visible = true;
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";


TextBox8.Text = "";
TextBox9.Text = "";
CKEditorControl1.Text = "";
CKEditorControl2.Text = "";
//DropDownList1.SelectedValue = "بدون مجموعه";

}
}


کاری که گفتید رو انجام دادم اما یه جاش مشکل داره که من نمیفهمم . اگه میشه کمکم کنید . خیلی ممنون میشم ازتون

fakhravari
چهارشنبه 06 شهریور 1392, 12:57 عصر
نمونه ببین

sasanrstm
جمعه 08 شهریور 1392, 22:20 عصر
اگه هنوز جوابتو نگرفتی با سمپل آقای فخراوری بگو تا بگم چیکار کنی.