21. marts 2013 - 13:52
Der er
13 kommentarer og 1 løsning
Jeg håber virkelig nogle kan hjælpe
Hejsa Jeg har integreret i fckeditor i min admin del, og den snakker sammen med min database. Men når jeg skal uploade et billede ligger den billedet i admin/Images istedet for at ligge den i roden, men jeg kan simpelthen ikke se hvad det er jeg gør forkert? Det er en kode jeg har fundet på nettet, og selv lagt ind. Disse koder ligger alle i mappen admin/ Button upload protected void btnUpload_Click(object sender, EventArgs e) { string baseurlsave = Server.MapPath(".") + "\\Images\\"; string baseurldisplay = "blog/images/"; HttpFileCollection hfc = Request.Files; foreach (string file in hfc) { if (hfc[file].ContentLength > 0) { string filename = Path.GetFileName(hfc[file].FileName); hfc[file].SaveAs(baseurlsave + filename); } } HyperLink hplImage = null; HyperLink hplDel = null; foreach (string file in Directory.GetFiles(baseurlsave)) { string filename = Path.GetFileName(file); hplImage = new HyperLink(); hplDel = new HyperLink(); //Image hplImage.NavigateUrl = "java script:void()"; hplImage.Attributes.Add("imgsrc", baseurldisplay + filename); hplImage.Text = filename; hplImage.CssClass = "imglink"; //Delete link hplDel.NavigateUrl = "java script:void()"; hplDel.Attributes.Add("img", filename); hplDel.Text = "delete"; hplDel.CssClass = "dellink"; phImages.Controls.Add(hplImage); phImages.Controls.Add(new LiteralControl(" ")); phImages.Controls.Add(hplDel); phImages.Controls.Add(new LiteralControl("<br>")); } } Upload.ashx public void ProcessRequest(HttpContext context) { HttpPostedFile uploads = context.Request.Files["upload"]; string CKEditorFuncNum = context.Request["CKEditorFuncNum"]; string file = System.IO.Path.GetFileName(uploads.FileName); uploads.SaveAs(context.Server.MapPath(".") + "\\Images\\" + file); string url = "images/" + file; context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>"); context.Response.End(); } public bool IsReusable { get { return false; } }
Annonceindlæg fra HP
21. marts 2013 - 14:04
#1
Prøv at ændre Server.MapPath(".") til Server.MapPath("~") Har ikke testet det.
21. marts 2013 - 14:18
#2
Nu ligger den billedet ned i den rigtige mappe, men når jeg bruger min fckeditor i admin delen kan jeg ikke se det billede jeg ligger ind, så den må så stadigvæk kigge det forkerte sted?
21. marts 2013 - 14:34
#3
Kan du ikke kigge i kildekoden, og se hvad billedets source er. Det vil gøre det lidt nemmere at finde fejlen.
21. marts 2013 - 14:37
#4
CKeditorImageManager.aspx <script type="text/javascript"> $(function () { CKEDITOR.replace('<%=txtCkEditor.ClientID %>'); $('#dvImages A.imglink').click(function () { var oEditor = CKEDITOR.instances('<%=txtCkEditor.ClientID %>'); var html = "<img src='" + $(this).attr("imgsrc") + "' />"; var newElement = CKEDITOR.dom.element.createFromHtml(html, oEditor.document); oEditor.insertElement(newElement); }); $('#dvImages A.dellink').click(function () { var img = $(this).attr("img"); $.ajax({ type: "POST", url: "DeleteImage.ashx", data: "imgname="+img, contentType: 'application/x-www-form-urlencoded', success: function(response) { if(response == "true") { $('#dvImages A.dellink[img=\"'+img+'\"]').fadeOut(); $('#dvImages A.imglink[imgsrc*=\"'+img+'\"]').fadeOut(); } }, error: function(response) { alert('There was an error. ' + response); } }); }); }); </script> CKeditorImageManager.aspx.cs protected void btnUpload_Click(object sender, EventArgs e) { string baseurlsave = Server.MapPath("~") + "\\Images\\"; string baseurldisplay = "Images/"; HttpFileCollection hfc = Request.Files; foreach (string file in hfc) { if (hfc[file].ContentLength > 0) { string filename = Path.GetFileName(hfc[file].FileName); hfc[file].SaveAs(baseurlsave + filename); } } HyperLink hplImage = null; HyperLink hplDel = null; foreach (string file in Directory.GetFiles(baseurlsave)) { string filename = Path.GetFileName(file); hplImage = new HyperLink(); hplDel = new HyperLink(); //Image hplImage.NavigateUrl = "java script:void()"; hplImage.Attributes.Add("imgsrc", baseurldisplay + filename); hplImage.Text = filename; hplImage.CssClass = "imglink"; //Delete link hplDel.NavigateUrl = "java script:void()"; hplDel.Attributes.Add("img", filename); hplDel.Text = "delete"; hplDel.CssClass = "dellink"; phImages.Controls.Add(hplImage); phImages.Controls.Add(new LiteralControl(" ")); phImages.Controls.Add(hplDel); phImages.Controls.Add(new LiteralControl("<br>")); } } Upload.ashx public class Upload : IHttpHandler { public void ProcessRequest(HttpContext context) { HttpPostedFile uploads = context.Request.Files["upload"]; string CKEditorFuncNum = context.Request["CKEditorFuncNum"]; string file = System.IO.Path.GetFileName(uploads.FileName); uploads.SaveAs(context.Server.MapPath("~") + "\\Images\\" + file); string url = "Images/" + file; context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>"); context.Response.End(); } public bool IsReusable { get { return false; } } }
21. marts 2013 - 14:42
#5
Som jeg lige kan se det, kigger den efter billeder i blog/images, hvor den burde lede i /images. Prøv at slet blog/ fra: string baseurldisplay = "blog/images/";
21. marts 2013 - 14:48
#6
På det nye jeg lige har givet dig har jeg slettet det og det virker stadigvæk ikke :-( Jeg kan ikke se mit billede når jeg uploader det i editoren, det virker som om den ikke kigger ned i root mappen, men i admin/Images
21. marts 2013 - 14:51
#7
Men hvis jeg bare smider billedet ind, så kan jeg ikke se det i admin delen men virker fint på frontend delen
21. marts 2013 - 14:53
#8
Du kan se hvor den kigger hvis du kigger kildekoden på den renderede side, altså i din browser. Der burde være <img src="?" /> med en forkert sti. Ellers prøv at tilføj en / før Images/ i string baseurldisplay = "/ Images/";
21. marts 2013 - 14:58
#9
Ude i frontend kigger den i den rigtige mappe nu. Det der er problemet nu er at jeg kan ikke se billedet fra min admin del der er der bare et rødt kryds
21. marts 2013 - 15:02
#10
jeg skrev ../Images så virker det kast et svar og tusind tak for hjælpen!!!!!
21. marts 2013 - 15:03
#11
Kan du ikke højreklikke på det røde kryds og vise detaljer om det, og vende tilbage med den src der står, så vi kan finde ud af hvor den kigger?
21. marts 2013 - 15:04
#12
Så ser den ikke billedet i frontend når jeg gør det
21. marts 2013 - 15:07
#13
Hvor spøjst, nu virker det altså
21. marts 2013 - 15:08
#14
Super. Smider lige et svar.
Kurser inden for grundlæggende programmering