***

title: "AssetImportStrategy"
generated: true
---------------

<GenerationInfo sourceFile="packages/core/src/config/asset-import-strategy/asset-import-strategy.ts" sourceLine="25" packageName="@vendure/core" since="1.7.0" />

The AssetImportStrategy determines how asset files get imported based on the path given in the
import CSV or via the [AssetImporter](/current/core/reference/typescript-api/import-export/asset-importer#assetimporter) `getAssets()` method.

The [DefaultAssetImportStrategy](/current/core/reference/typescript-api/import-export/default-asset-import-strategy#defaultassetimportstrategy) is able to load files from either the local filesystem
or from a remote URL.

A custom strategy could be created which could e.g. get the asset file from an S3 bucket.

:::info

This is configured via the `importExportOptions.assetImportStrategy` property of
your VendureConfig.

:::

```ts title="Signature"
interface AssetImportStrategy extends InjectableStrategy {
    getStreamFromPath(assetPath: string): Readable | Promise<Readable>;
}
```

* Extends: [`InjectableStrategy`](/current/core/reference/typescript-api/common/injectable-strategy#injectablestrategy)

<div className="members-wrapper">

### getStreamFromPath

\<MemberInfo kind="method" type={`(assetPath: string) => Readable | Promise<Readable>`}   />

Given an asset path, this method should return a Stream of file data. This could
e.g. be read from a file system or fetch from a remote location.

</div>
