Im having an issue in 4.5.2 with images that I insert into my RTE not displaying when saved or published.
Basically I have set up Umbraco in a folder off the wwwroot. So my index page would be http://localhost/mysite/
I have added an image to the media section and use the "Insert/Edit image" button to add the image to my text box. The image displays fine in the editor untill I click Save or Save and Publish.
It then seems to cut the url from /mysite/media/299/image.jpg to /media/299/image.jpg and the image doesnt display correctly on the site or in my RTE.
Does anyone know how I can fix this? Is it a setting or something that I am missing?
I would really appreciate any help you guys could give me.
This was a known bug in 4.5.2 when running Umbraco in a virtual directory instead of the root.. I just checked the Codeplex ticket and it looks like it was fixed for 4.6, but I have not had a chance to test it yet.
So your workaround would be to upgrade to 4.6.1 or run Umbraco on the website root instead :)
Im guessing it wasnt just a small change that I could incorprate into my instance of Umbraco?
Ill have to see if I can do as there are other stuff running on the production server so I dont think they would want all the Umbraco files in the wwwroot folder and I know upgrading to 4.6.1 involves upgrading .Net 4 as well as possible other things so I would have to see if they are prepared to do an upgrade and what the knock on effects would be.
I had the exact same problem and am also running Umbraco 4.5.2. I also can't upgrade as clients' server doesn't support .Net 4.0, so I had to try and find a fix somehow. After hours of struggling I finally found a solution that works for me. It's not a perfect solution, but like I said ... it works for me.
I just want to mention that I used umbraco for the backend and the nodeFactory for the frontend as the client already had a .Net website and just wanted to be able to update the news section.
In the Umbraco backend I had the same problem as mentioned above: "I have added an image to the media section and use the "Insert/Edit
image" button to add the image to my text box. The image displays fine
in the editor untill I click Save or Save and Publish.". I used a jQuery script to edit the image path and get the images to display correctly. I added the following script to the "editContent.aspx" (located in "umbraco\editContent.aspx"), right at the bottom (just above the "" line):
Images url changes after save or publish
Hi Guys,
Im having an issue in 4.5.2 with images that I insert into my RTE not displaying when saved or published.
Basically I have set up Umbraco in a folder off the wwwroot. So my index page would be http://localhost/mysite/
I have added an image to the media section and use the "Insert/Edit image" button to add the image to my text box. The image displays fine in the editor untill I click Save or Save and Publish.
It then seems to cut the url from /mysite/media/299/image.jpg to /media/299/image.jpg and the image doesnt display correctly on the site or in my RTE.
Does anyone know how I can fix this? Is it a setting or something that I am missing?
I would really appreciate any help you guys could give me.
Thanks,
Alan
Hi Alan,
This was a known bug in 4.5.2 when running Umbraco in a virtual directory instead of the root.. I just checked the Codeplex ticket and it looks like it was fixed for 4.6, but I have not had a chance to test it yet.
So your workaround would be to upgrade to 4.6.1 or run Umbraco on the website root instead :)
Thanks,
Tom
Hey Tom,
Thanks for that.
Im guessing it wasnt just a small change that I could incorprate into my instance of Umbraco?
Ill have to see if I can do as there are other stuff running on the production server so I dont think they would want all the Umbraco files in the wwwroot folder and I know upgrading to 4.6.1 involves upgrading .Net 4 as well as possible other things so I would have to see if they are prepared to do an upgrade and what the knock on effects would be.
Anyway thanks for your help.
Alan
I had the exact same problem and am also running Umbraco 4.5.2. I also can't upgrade as clients' server doesn't support .Net 4.0, so I had to try and find a fix somehow. After hours of struggling I finally found a solution that works for me. It's not a perfect solution, but like I said ... it works for me.
I just want to mention that I used umbraco for the backend and the nodeFactory for the frontend as the client already had a .Net website and just wanted to be able to update the news section.
In the Umbraco backend I had the same problem as mentioned above: "I have added an image to the media section and use the "Insert/Edit image" button to add the image to my text box. The image displays fine in the editor untill I click Save or Save and Publish.". I used a jQuery script to edit the image path and get the images to display correctly. I added the following script to the "editContent.aspx" (located in "umbraco\editContent.aspx"), right at the bottom (just above the "" line):
<script type="text/javascript">
$("#right").ready(function() {
setImagePath();
});
function setImagePath() {
if ($("#ctl00_body_bodyText_ifr").attr("src") == "javascript:\"\"") {
$("#ctl00_body_bodyText_ifr").contents().find("img").attr("src", function() {
return this.src.replace('/media/',window.location.pathname.replace("/umbraco/editContent.aspx","") + '/media/');
});
}
else {
setTimeout("setImagePath()",500);
}
}
</script>
Then for the frontend I used a string replace to fix the image path. Here is a simplified version of the code:
Node node = new Node(-1); //Get all data in the umbraco.config
Nodes childNodes = node.Children;
foreach (Node childNode in childNodes)
{
switch (childNode.NodeTypeAlias)
{
case "NewsArea":
foreach (Node childNodeItem in childNode.Children) //NewsItem
{
string strImagePath = "";
try //Get Media File Path
{
Media file = new Media(int.Parse(childNodeItem.GetProperty("newsImage").Value));
strImagePath = file.getProperty("umbracoFile").Value.ToString();
}
catch { }
if (strImagePath != "")
litNews.Text += "<img src=\"" + strImagePath.Replace("~/", "") + "\" border=\"0\" alt=\"\" />";
litNews.Text += childNodeItem.GetProperty("bodyText").Value.Replace("=\"/media/","=\"media/");
}
break;
default:
break;
}
}
Hopefully it'll work for someone else or help them in the right direction.
Jannie ;-)
is working on a reply...