moferferi
پنج شنبه 18 آبان 1391, 20:09 عصر
سلام
نمیدونم چرا موقع حذف عکس ها با خطای
The process cannot access the file 'E:\asp.net\p1\photos\gallery\cheetoz.gif' because it is being used by another process.
در صورت امکان لطفا یه نگاهی به سورس بکنید.
در ضمن کد ها در یوزر کنترل هست
<div class="content-warp">
<h3 class="pageinfo">مدیریت گالری عکس</h3>
<telerik:RadUpload ID="RadUpload1" Runat="server">
<localization add="اضافه" delete="حذف" remove="حذف" select="انتخاب" />
</telerik:RadUpload>
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
</telerik:RadScriptManager>
<br />
<asp:Button id="btnup" runat="server" Text="آپلود" CssClass="btn"
onclick="btnup_Click"/>
<hr />
<div class="dvgallerypic dvgallerypic-admin">
<ul>
<asp:DataList runat="server" ID="rpt1" RepeatColumns="6" >
<ItemTemplate>
<li><aclass="preview"><img class="thumb" src="<%#Container.DataItem %>"/></a><br /><a href="admin.aspx?page=gallerypic&mod=del&id=<%#Container.DataItem %>">حذف</a></li>
</ItemTemplate>
</asp:DataList>
</ul>
</div>
</div>
این هم کدی سی شارپ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using resanehpardazModel;
using Telerik.Web.UI;
using System.IO;
public partial class AdminModule_GalleryPic_GalleryPic : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["mod"] == "del")
{
deletefile();
}
if (!Page.IsPostBack)
{
rpt1.DataSource = Getphotos();
rpt1.DataBind();
}
//rpt1.DataSource = Getphotos();
//rpt1.DataBind();
}
protected void btnup_Click(object sender, EventArgs e)
{
string path = Request.MapPath(".") + "//photos/gallery//";
foreach (UploadedFile f in RadUpload1.UploadedFiles)
{
f.SaveAs(path + "//" + f.FileName);
}
rpt1.DataSource = Getphotos();
rpt1.DataBind();
}
public List<String> Getphotos()
{
List<string> photos = new List<string>();
string photoPath = MapPath("~/photos/gallery/");
string[] files = Directory.GetFiles(photoPath);
foreach (string photo in files)
{
photos.Add("photos/gallery/" + Path.GetFileName(photo));
}
return photos;
}
private void deletefile()
{
FileInfo TheFile = new FileInfo(MapPath("~") + "\\" + Request["id"].ToString());
File.Delete(MapPath("~")+"\\" + Request["id"].ToString());
//rpt1.DataSource = Getphotos();
//rpt1.DataBind();
}
}
نمیدونم چرا موقع حذف عکس ها با خطای
The process cannot access the file 'E:\asp.net\p1\photos\gallery\cheetoz.gif' because it is being used by another process.
در صورت امکان لطفا یه نگاهی به سورس بکنید.
در ضمن کد ها در یوزر کنترل هست
<div class="content-warp">
<h3 class="pageinfo">مدیریت گالری عکس</h3>
<telerik:RadUpload ID="RadUpload1" Runat="server">
<localization add="اضافه" delete="حذف" remove="حذف" select="انتخاب" />
</telerik:RadUpload>
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
</telerik:RadScriptManager>
<br />
<asp:Button id="btnup" runat="server" Text="آپلود" CssClass="btn"
onclick="btnup_Click"/>
<hr />
<div class="dvgallerypic dvgallerypic-admin">
<ul>
<asp:DataList runat="server" ID="rpt1" RepeatColumns="6" >
<ItemTemplate>
<li><aclass="preview"><img class="thumb" src="<%#Container.DataItem %>"/></a><br /><a href="admin.aspx?page=gallerypic&mod=del&id=<%#Container.DataItem %>">حذف</a></li>
</ItemTemplate>
</asp:DataList>
</ul>
</div>
</div>
این هم کدی سی شارپ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using resanehpardazModel;
using Telerik.Web.UI;
using System.IO;
public partial class AdminModule_GalleryPic_GalleryPic : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["mod"] == "del")
{
deletefile();
}
if (!Page.IsPostBack)
{
rpt1.DataSource = Getphotos();
rpt1.DataBind();
}
//rpt1.DataSource = Getphotos();
//rpt1.DataBind();
}
protected void btnup_Click(object sender, EventArgs e)
{
string path = Request.MapPath(".") + "//photos/gallery//";
foreach (UploadedFile f in RadUpload1.UploadedFiles)
{
f.SaveAs(path + "//" + f.FileName);
}
rpt1.DataSource = Getphotos();
rpt1.DataBind();
}
public List<String> Getphotos()
{
List<string> photos = new List<string>();
string photoPath = MapPath("~/photos/gallery/");
string[] files = Directory.GetFiles(photoPath);
foreach (string photo in files)
{
photos.Add("photos/gallery/" + Path.GetFileName(photo));
}
return photos;
}
private void deletefile()
{
FileInfo TheFile = new FileInfo(MapPath("~") + "\\" + Request["id"].ToString());
File.Delete(MapPath("~")+"\\" + Request["id"].ToString());
//rpt1.DataSource = Getphotos();
//rpt1.DataBind();
}
}