PDA

View Full Version : سوال: چگونگی انتخاب مسیر تصاویر ذخیره شده در هاست



kharabati
پنج شنبه 28 مرداد 1389, 03:56 صبح
منظور "چگونگی انتخاب مسیر ذخیره سازی تصاویر در هاست؟".

با سلام. من میخوام یک پروژه ای رو که تکمیل کردم رو هاست منتقل کنم .
این کار رو انجام دادم پروژه یک سایت فروشگاه اینتر نتی به زبان ASP.NET هست من تمام مراحل رو انجام دادم و پروژه رو با موفقیت در هاست قرار دادم ولی در یک قسمت از این پروژه که عمل ایجاد محصول جدید و جود داره هنگامی که میخواهید یک محصول جدید ایجاد کنید این مشکل پیش میاد که محصول ثبت نمیشه باید این نکته رو ذکر کنم که پروژه روی لوکال به درستی کار میکنه.
من چند تا تست کردم و در نهایت متوجه شدم که وقتی یک محصول جدید رو بدون تصویر ثبت میکنی روال ثبت به درستی انجام میشه(بر روی هاست).و وقتی یک تصویر برای محصول انتخاب میکنی و دکمه ارسال رو میزنی این مشکل رخ میده .من فکر کنم مشکل از نحوه دادم مسیر ذخیره تصاویر هست. اما این مشکل تو لوکال وجود نداره و براحتی تصویر ذخیره میش .لازم به ذکره که این پروژه رو بر روی یک ساب دامین قرار دادم یعنی اگه سایت اصلی مثلا www.shop.ir (http://www.shop.ir%D9%87%D8%B3%D8%AA) هست من این پروژه رو روی www.tes.shop.ir (http://www.tes.shop.ir) قرار دادم شاید مشکل از این باشه؟
پوشه تصاویر با نام IMG در روت وجود داره
/Subdoman/shop/httpdocs/IMG/
در زیر کد ذخیره و ویرایش محصول رو قرار میدم. به همراه چگونگی مسیر ذخیره.






Private Sub ImageUpload(ByVal fileName As String, ByVal extension As String)
Dim savePath As String = Server.MapPath("IMG") & "\" & fileName & extension
FileUpload1.SaveAs(savePath)
End Sub

Private Function GetNameForFile() As String
Dim DateNow As String = BijanComponents.ShamsiDate.GetShamsiDate(DateTime. Now).Trim()
DateNow = DateNow.Replace("/", "")
DateNow &= DateTime.Now.Hour.ToString().Trim() + DateTime.Now.Minute.ToString().Trim() + DateTime.Now.Second.ToString().Trim()
Return DateNow.Trim()
End Function
Protected Sub btnInsert_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim sda As New tProductsTableAdapter()
Dim ds As New DstProducts()
Dim ImgExtention As String = ""
If FileUpload1.HasFile Then
ImgExtention = System.IO.Path.GetExtension(FileUpload1.FileName)
End If
Dim FileNme As String = ""

If ImgExtention <> "" Then
FileNme = GetNameForFile()
End If
If dg.SelectedIndex > -1 AndAlso txtName.Text.Trim() <> "" Then
Dim Success As Boolean = sda.FillByCode(ds.tProducts, Integer.Parse(ddlGroups.SelectedValue.ToString())) > 0
If Success Then
ds.tProducts.Rows(0)(ds.tProducts.fCodeGroupColumn ) = ddlGroups.SelectedValue.ToString()
ds.tProducts.Rows(0)(ds.tProducts.fNameColumn) = txtName.Text.Trim()
ds.tProducts.Rows(0)(ds.tProducts.fDescColumn) = txtDesc.Text.Trim()
ds.tProducts.Rows(0)(ds.tProducts.fPriceColumn) = txtPrice.Text.Trim()
ds.tProducts.Rows(0)(ds.tProducts.fDetailColumn) = txtDetail.Text.Trim()
If FileUpload1.HasFile Then
ImageUpload(FileNme, ImgExtention)
ds.tProducts.Rows(0)(ds.tProducts.fImageNameColumn ) = "IMG/" & FileNme.Trim() & ImgExtention
End If
sda.Update(ds.tProducts)
Label6.Text = "ویرایش محصول با موفقیت در سیستم ذخیره گردید"
End If

Else

Dim MyRow As DataRow = ds.tProducts.NewRow()

MyRow(ds.tProducts.fCodeGroupColumn) = ddlGroups.SelectedValue.ToString()
MyRow(ds.tProducts.fNameColumn) = txtName.Text.Trim()
MyRow(ds.tProducts.fPriceColumn) = txtPrice.Text.Trim()
MyRow(ds.tProducts.fDescColumn) = txtDesc.Text.Trim()
MyRow(ds.tProducts.fDetailColumn) = txtDetail.Text.Trim()
If FileUpload1.HasFile Then
ImageUpload(FileNme, ImgExtention)
MyRow(ds.tProducts.fImageNameColumn) = "IMG/" & FileNme.Trim() & ImgExtention

End If
ds.tProducts.Rows.Add(MyRow)
sda.Update(ds.tProducts)

Label6.Text = "اطلاعات محصول جدید با موفقیت در سیستم ذخیره گردید"
End If
ClearTextBox()
BindGrid()
dg.SelectedIndex = -1
End Sub






با این مسیر "/IMG/~" هم تست کردم تو لوکال جواب میده اما تو سرور هاست جواب نمیده.

salehbagheri
پنج شنبه 28 مرداد 1389, 05:22 صبح
معمولا این مشکل زمانی پیش میاد که دسترسی (Permission) لازم بر روی پوشه های هاست نداشته باشید.

این مورد یعنی Permission های پوشه ها رو چک کنید و در صورت بسته بودن اونها رو برای Write باز کنید.

daffy_duck376
پنج شنبه 28 مرداد 1389, 05:30 صبح
شما بهتره قبل از گذاشتن عکس خطا مقدار custum error رو روی off میگذابشه مشکل کجاست . این جوی فقط باید حدس زد. اما اگه cpanel شما plesk هست طبق کفته دوست عزیزمون باید سطح دسترسی رو درست کنی. helm زیاد روی این گیر نیست

alonemm
پنج شنبه 28 مرداد 1389, 09:04 صبح
دوست عزیز توی کنترل پنل سایتت روی گزینه مربوط به مدیریت پوشه برو بعد روی پوشه ای که میخای عکس ذخیره بشه دسترسی رو به صورت نوشتن (Write) هم اضفافه کن چون در حالت پیش فرض فقط خاندنی هستن.

موفق باشی.

kharabati
پنج شنبه 28 مرداد 1389, 13:00 عصر
ممنون که کمک کردید.
مشکل از همون Permission پوشه و سطح دسترسی بود که بایستی اجازه Write داده می شد که درست شد.
موفق باشید