The requested page is not available for the requested platform. You are viewing the content for Default platform.

IFileData.SaveToStream(Stream) Method

Saves the file stored within the current IFileData object to the specified stream.

Namespace: DevExpress.Persistent.Base

Assembly: DevExpress.Persistent.Base.v19.2.dll

Declaration

void SaveToStream(
    Stream stream
)
Sub SaveToStream(
    stream As Stream
)

Parameters

Name Type Description
stream Stream

A Stream object to be used to save the file.

Remarks

The example below demonstrates how to use the SaveToStream method to get a Contact's file, and then upload it into a portfolio.

using System.IO;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using MainDemo.Module.BusinessObjects;
// ...
public class UpdatePortfolioController : ObjectViewController<DetailView, Resume> {
    public UpdatePortfolioController() {
        SimpleAction updatePortfolioAction = new SimpleAction(this, "UpdatePortfolio", PredefinedCategory.Edit);
        updatePortfolioAction.SelectionDependencyType = SelectionDependencyType.RequireSingleObject;
        updatePortfolioAction.Execute += updatePortfolioAction_Execute;
    }
    private void updatePortfolioAction_Execute(object sender, SimpleActionExecuteEventArgs e) {
        FileData currentFile = ViewCurrentObject.File;
        if(currentFile != null && !currentFile.IsEmpty) {
            FileData fileCopy = ObjectSpace.CreateObject<FileData>();
            using(var stream = new MemoryStream()) {
                currentFile.SaveToStream(stream);
                stream.Position = 0;
                fileCopy.LoadFromStream(currentFile.FileName, stream);
            }
            PortfolioFileData portfolio = ObjectSpace.CreateObject<PortfolioFileData>();
            portfolio.File = fileCopy;
            ViewCurrentObject.Portfolio.Add(portfolio);
            ObjectSpace.CommitChanges();
        }
    }
}

Here, FileData is a built-in class that implements the IFileData interface.

See Also