EXPORTSTREAM Function (Media)
Export the current media object (such as a JPEG image) that is used on record to an OUTSTREAM object.
The OUTSTREAM object can be created from a BLOB field, a FILE or from a .NET Framework interoperability object. In the record, the media is referenced in a Media data type field.
Syntax
[Ok := ]Record.MediaField.EXPORTSTREAM(OutStream)
Parameters
Record
Type: Record
Specifies the record that includes the media.
Media
Type: Media
Specifies the Media data type field of the record that includes the media.
OutStream
Type: OutStream
Specifies the OutStream object that is created by the object that will receive the media content.
Property Value/Return Value
Type: Boolean
true if the media was successfully exported; otherwise, false.
Remarks
The OutStream object must be a valid and writeable stream that is created by the receiving object. The EXPORTSTREAM function does not create the OutStream object. It only uses the object for writing data.
Example
This example uses the EXPORTSTREAM to iterate over a sample table named My Items table and export any media that is used on records to an OutStream that is created on a file object.
This example assumes that the My Item table contains a Media data type field that is named Image, and that you have already imported some media on records. For information about importing media, see IMPORTFILE Function (Media) or IMPORTSTREAM Function (Media).
The example code requires that you create the following variables and text constant:
Variable name | DataType | Subtype |
---|---|---|
myItemRec | Record | My Items |
fileName | Text | |
exportFile | File | |
dataOutStream | OutStream | |
count | Integer |
Text constant name | ConstValue |
---|---|
Text000 | %1 media files were exported. |
IF myItemRec.FINDFIRST() THEN
BEGIN
REPEAT
IF myItemRec.Image.HASVALUE THEN
BEGIN
fileName := 'C:\images\export\' + 'ItemPictureFromStream' + FORMAT(myItemRec."No.") + '.jpg';
exportFile.CREATE(fileName);
exportFile.CREATEOUTSTREAM(dataOutStream);
myItemRec.Image.EXPORTSTREAM(dataOutStream);
count := count + 1;
exportFile.CLOSE;
END
UNTIL myItemRec.NEXT < 1;
MESSAGE(Text000, count);
END;
See Also
Working With Media on Records
IMPORTSTREAM Function (Media)
IMPORTFILE Function (MediaSet)
IMPORTSTREAM Function (MediaSet)
MediaSet Data Type
EXPORTFILE Function (Media)