How to set directory to store images in C# and .NET


Processing text documents and managing images in .NET applications is an important task often encountered when developing enterprise solutions, content editors, reporting systems, and other applications. This is particularly true when converting RTF documents to HTML while simultaneously managing the placement and storage of images used within these documents.

In this article, we'll detail how to configure an image storage directory in C# and .NET using the component RTF TO HTML .NET from SautinSoft SDK.

This functionality is especially important for applications that need to maintain high-quality, structured HTML sections with embedded images. When converting RTF to HTML, large documents with numerous images can create complications if the images are displayed in random locations or stored in unspecified folders.
A properly configured image storage directory provides:
  • Organized access: images are easy to find and manage.
  • Optimal performance: avoids file duplication and unnecessary operations.
  • Easy updating: replace or edit images in a central location.
  • Security and backup: easier management of access rights and image storage.

What is this functionality useful for?

  • Websites and portals with content editors.
  • Automatic generation of HTML documents from RTF report files with illustrations.
  • Creating document storage and publishing systems with embedded images.
  • Processing large volumes of documents requiring centralized image management.

Additional tips:

  • Use unique image names to avoid conflicts.
  • Set 'ImagesUrlPrefix' to display images correctly on websites.
  • Always check permissions on image storage folders.
  • For large data volumes, implement stream processing and progress reports.

Input file:

rtf to html input

Output result (html):

set images directory output

Output result (images):

images directory output

Complete code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using SautinSoft;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            SetImagesDirectory();
        }
        /// <summary>
        /// How to set directory to store images.
        /// </summary>
        static void SetImagesDirectory()
        {
			// Get your free key here:   
            // https://sautinsoft.com/start-for-free/
			
            // If you need more information about "RTF to HTML .Net" 
            // Email us at: support@sautinsoft.com.
			
            string inpFile = @"..\..\..\example.docx";
            string outFile = Path.GetFullPath(@"Result2.html");
            string imgDir = Path.GetDirectoryName(outFile);

            RtfToHtml r = new RtfToHtml();

            // Set images directory
            RtfToHtml.HtmlFixedSaveOptions opt = new RtfToHtml.HtmlFixedSaveOptions()
            {
                ImagesDirectoryPath = Path.Combine(imgDir, "Result_images"),
                ImagesDirectorySrcPath = "Result_images",
                // Change to store images as physical files on local drive.
                EmbedImages = false
            };

            try
            {
                r.Convert(inpFile, outFile, opt);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Conversion failed! {ex.Message}");
            }

            // Open the result.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
        }
    }
}

Download

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.IO
Imports SautinSoft

Namespace Example
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			SetImagesDirectory()
		End Sub
		''' <summary>
		''' How to set directory to store images.
		''' </summary>
		Private Shared Sub SetImagesDirectory()
				    ' Get your free key here:   
            ' https://sautinsoft.com/start-for-free/
			
            ' If you need more information about "RTF to HTML .Net" 
            ' Email us at: support@sautinsoft.com.
			Dim inpFile As String = "..\..\..\example.docx"
			Dim outFile As String = Path.GetFullPath("Result.html")
			Dim imgDir As String = Path.GetDirectoryName(outFile)

			Dim r As New RtfToHtml()

			' Set images directory
			Dim opt As new RtfToHtml.HtmlFixedSaveOptions() With {
				.ImagesDirectoryPath = Path.Combine(imgDir, "Result_images"),
				.ImagesDirectorySrcPath = "Result_images",
				.EmbedImages = False
			}

			Try
				r.Convert(inpFile, outFile, opt)
			Catch ex As Exception
				Console.WriteLine($"Conversion failed! {ex.Message}")
			End Try

			' Open the result.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:


Captcha

Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.