I am making a Web App in C# that interacts with Sharepoint Server 2003. I am stuck at a situation, please go thru it below to see, if someone can give some suggestions or walk through for the same:

About the Web App: My web application has many pages and most of these pages fetch data from a shpt lists and then displays it on the page.

Scenario : I have a feature in my application, that if someone wants to display an HTML file, they can add it in "Reference to Content" (the Reference to Content is the page property, which acts like the Data Source of the content to be displayed on the page), and then my code, gets the html as string and then renders it on the website. To do so, what my user does is, they create a Word Document with all the stylings and save it in the "htm" format, upload this htm page on the sharepoint server and give it as reference of the page. And then my code, at the time of rendering, will download the html file code as string on the clients machine and population the html page.

Problem : The problem starts if someone wants to have an image in the html file. What happens is, if i create a word doc and insert an image in it and save it in the htm format, the images are stored separately in a folder, which is then referenced in the htm file. So, when my code tries to render this page, it doesnt get image at the location (which is usually a folder with the same name on the same level of the path).

Possible Solutions:
1. Either there is way to upload the images in the sharepoint server and then reference it so that when I download the html as string, it refers to the image stored online. But I dont think thats going to work. What do you think?

2. Another possible solution I thought was to store this word docs as "mht" instead of "htm", since mht stores images in one file and not separately in a different folder. But when I tried doing this, I found out I just cannot follow the usual process of download the files code as string and then rendering it online, coz this gives some kind of encoded string to me, on some searches on google, I found out that I need to do some kind of VML processing, which I dont have clues about how to do that thing in c#. Do you know any way out of it?