![]() |
VOOZH | about |
Syncfusion AI Assistant
1 Oct 20253 minutes to read
After composing or editing, a document must be saved to the server, a database, or the local file system.
It may be necessary to save the document back to the server. The following code example shows how to save the composed document to server.
@using Syncfusion.Blazor.DocumentEditor
@using System.IO
<button @onclick="OnSave">Save</button>
<SfDocumentEditorContainer @ref="container" EnableToolbar=true></SfDocumentEditorContainer>
@code {
SfDocumentEditorContainer container;
public async void OnSave()
{
SfDocumentEditor editor = container.DocumentEditor;
string base64Data = await editor.SaveAsBlobAsync(FormatType.Docx);
byte[] data = Convert.FromBase64String(base64Data);
//To observe the memory go down, null out the reference of base64Data variable.
base64Data = null;
//Word document file stream
Stream stream = new MemoryStream(data);
//To observe the memory go down, null out the reference of data variable.
data = null;
using (var fileStream = new FileStream(@"wwwroot/data/GettingStarted.docx", FileMode.Create, FileAccess.Write))
{
//Saving the new file in root path of application
stream.CopyTo(fileStream);
fileStream.Close();
}
stream.Close();
//To observe the memory go down, null out the reference of stream variable.
stream = null;
}
}If you have plenty of documents stored in database and you want to save the composed or updated document back to the database, use the following code example.
@using Syncfusion.Blazor.DocumentEditor
@using System.Data.SqlClient
<button @onclick="OnSave">Save</button>
<SfDocumentEditorContainer @ref="container" EnableToolbar="true"></SfDocumentEditorContainer>
@code {
SfDocumentEditorContainer container;
public async void OnSave()
{
string documentID = "Getting_Started.docx";
SfDocumentEditor editor = container.DocumentEditor;
string base64Data = await editor.SaveAsBlobAsync(FormatType.Docx);
byte[] data = Convert.FromBase64String(base64Data);
//To observe the memory go down, null out the reference of base64Data variable.
base64Data = null;
string connectionString = "Data Source=(LocalDB)//MSSQLLocalDB;AttachDbFilename=C://database.mdf;";
string queryStmt = "Update DocumentsTable SET Data = @Content where DocumentName = '" + documentID + "'";
using (SqlConnection con = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(queryStmt, con))
{
SqlParameter param = cmd.Parameters.Add("@Content", System.Data.SqlDbType.VarBinary);
param.Value = data;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
//To observe the memory go down, null out the reference of data variable.
data = null;
}
}
}You can also save or download the document in local file system.
@using Syncfusion.Blazor.DocumentEditor
<button @onclick="OnDownload">Download</button>
<SfDocumentEditorContainer @ref="container" EnableToolbar="true"></SfDocumentEditorContainer>
@code {
SfDocumentEditorContainer container;
public async void OnDownload()
{
SfDocumentEditor editor = container.DocumentEditor;
await editor.SaveAsync("sample", FormatType.Docx);
}
}