PDA

View Full Version : سوال: درج تصویر



mandana13679
سه شنبه 26 شهریور 1392, 08:19 صبح
سلام.
من دارم یه سایت طراحی می کنم. میخوام کاربر در هنگام ثبت نام یا کلیک کردن روی یک دکمه و باز شدن پنجره open بتونه عکس خود را انتخاب کند. چطوری میتونم پنجره open رو بازکنم. و بعد از بازکردن چه کدی برای درج در بانک اطلاعاتی باید بنویسم.

amin750
سه شنبه 26 شهریور 1392, 12:01 عصر
باید از کنترل fileUpload استفاده کنین
کدش هم آسونه یه سرچ کوچیک کنی میتونی پیدا کنی اگه نتونستی بگو تا بت بگم
چرا میخوای توی بانک ذخیره کنی؟

LostOfMind
سه شنبه 26 شهریور 1392, 12:19 عصر
سلام
با استفاده از fileupload این هم کد سی شارپ:

string filename;
if (FileUpload1.HasFile)
{
if (!Directory.Exists(System.Web.HttpContext.Current. Server.MapPath("~/image")))
Directory.CreateDirectory(System.Web.HttpContext.C urrent.Server.MapPath("~/image"));
//Get Web Path
path = Server.MapPath("~/image/");
//Get And check File Extension
String[] validext = { ".jpg", ".gif", ".png", ".jpeg", };
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
lblMsg.Text = "تصویر ارسال شده باید یکی از انواع مشخص شده باشد";
return;
}
//Get and Check File Size
long size = FileUpload1.PostedFile.ContentLength;
size = size / 1024;
if (size > 200)
{
lblMsg.Text = "حداکثر اندازه مجاز برای تصویر 200 کیلوبایت می باشد";
return;
}
//Get FileName
filename = HttpContext.Current.User.Identity.Name + ext;
FileUpload1.SaveAs(path + filename);
}
else
filename = string.Empty;

mandana13679
سه شنبه 26 شهریور 1392, 12:25 عصر
میخوام آدرس فایل تصویری رو در بانک ذخیره کنم. و همچنین این قابلیت رو هم بزارم تا در صورت تمایل بتونه عکسو عوض کنه.

مرسی.

amin750
سه شنبه 26 شهریور 1392, 12:42 عصر
میتونی با دستور insert این کارو بکنی


sqlcommand cmd=new sqlcommand("insert into table_name(filedname) values(@fieldname)",con);
cmd.parameters.addwithvalues("@fieldname","~/images/"+fileUpload1.Postedfile.FileName);

LostOfMind
سه شنبه 26 شهریور 1392, 15:14 عصر
کدی که ارسال کردم، تصویر رو بر روی هاست آپلود میکنه لازم نیست آدرس تصویر در بانک اطلاعاتی ذخیره بشه فقط کافیه filename رو در بانک ذخبره کنید و موقع نیاز فقط نام فایل رو بازیابی کنید مثلا وقتی بخواهید عکس در GridView نمایش داده بشه به این صورت عمل کنید:


<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" Height="120px"
ImageUrl='<%# Eval("img", "~/image/{0}") %>' Width="180px" />
</ItemTemplate>
<ItemStyle Width="190px" />
</asp:TemplateField>

دقت کنید img نام فیلد بانک اطلاعاتی است.

LostOfMind
سه شنبه 26 شهریور 1392, 17:10 عصر
من یه نمونه ساده از این کد ها رو آپلود کردم البته بانک اطلاعاتیش با اکسس هست که می تونید با sql هم این کار رو انجام بدید
امیدوارم جواب سوالتون رو گرفته باشید

دانلود (http://astanweb.gts2009.ir/WebSite1.zip)

mandana13679
چهارشنبه 27 شهریور 1392, 07:21 صبح
خیلی کمکم کردید. متشکرم.