# multer-azure-storage

> Azure storage for multer

Latest version **0.2.0** (published 2018-02-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install multer-azure-storage
pnpm add multer-azure-storage
yarn add multer-azure-storage
bun add multer-azure-storage
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.0 |
| Published | 2018-02-11 |
| First published | 2016-10-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.12 |
| Dependencies | 2 |
| Unpacked size | 9.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 14 |
| Maintainers | mantacodedevs |
| Keywords | multer, azure, express, file upload, azure storage |

## Links

- npm: https://www.npmjs.com/package/multer-azure-storage
- Repository: https://github.com/MantaCodeDevs/multer-azure-storage
- Homepage: https://github.com/MantaCodeDevs/multer-azure-storage#readme
- Issues: https://github.com/MantaCodeDevs/multer-azure-storage/issues
- npm.io page: https://npm.io/package/multer-azure-storage

## Dependencies (2)

- [node-uuid](https://npm.io/package/node-uuid.md) ^1.4.7
- [azure-storage](https://npm.io/package/azure-storage.md) ^1.3.1

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 0.2.0 (latest) — 2018-02-11
- 0.1.3 — 2017-12-20
- 0.1.2 — 2017-09-22
- 0.1.1 — 2016-10-18
- 0.1.0 — 2016-10-18

## README

# Multer Azure Storage

Multer Azure Storage provides a Storage for [multer](https://github.com/expressjs/multer) allowing for saving data to Blob Storage.

## Installation

```shell
npm install multer-azure-storage
```

or

```shell
yarn add multer-azure-storage
```

## Usage

Basic usage example:

```javascript
var multer = require('multer')
var MulterAzureStorage = require('multer-azure-storage')
var upload = multer({
  storage: new MulterAzureStorage({
    azureStorageConnectionString: 'DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=mykey;EndpointSuffix=core.windows.net',
    containerName: 'photos',
    containerSecurity: 'blob'
  })
})
```

Then use `upload` as described in [multer documentation](https://github.com/expressjs/multer)

### File information

Each file added using Multer Azure Storage contains the following information:

Key | Description | Note
---|---|---
`fieldname` | Field name specified in the form | added by multer
`originalname` | Name of the file on the user's computer | added by multer
`encoding` | Encoding type of the file | added by multer
`mimetype` | Mime type of the file | added by multer
`blob` | Name of created blob |
`container` | Name of container in which blob was created |
`blobType` | Type of blob | BlockBlob -  From the result of call to azure's `getBlobProperties()` of `blobService`
`size` | Size of the blob | From the result of call to azure's `getBlobProperties()` of `blobService`
`etag` | Etag | From the result of call to azure's `getBlobProperties()` of `blobService`
`metadata` | Blob's metadata | From the result of call to azure's `getBlobProperties()` of `blobService`
`url` | Url to access the blob |

## Options

To setup the connection to Azure Storage either the connection string (`azureStorageConnectionString`) is required or the combination of storage account (`azureStorageAccount`) and access key (`azureStorageAccessKey`)

### Using Azure storage connection string

| Parameter Name | Type | Sample Value |
|---|---|---|
| `azureStorageConnectionString` | string | `'DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=mykey;EndpointSuffix=core.windows.net'` |
| `containerName` | string | `'photos'` |
| `containerSecurity` | string (optional) | `'blob'` or `'container'`, defaults to blob |
| `fileName` | function (optional) | function that receives a file reference and allows customization of the file name |

### Using Azure storage account name and access key

| Parameter Name | Type | Sample Value |
|---|---|---|
| `azureStorageAccessKey` | string | `'dcs@3asd@...'` - Access Key related to your storage account |
| `azureStorageAccount` | string | `'mystorageaccount'` |
| `containerName` | string | `'photos'` |
| `containerSecurity` | string (optional) | `'blob'` or `'container`', defaults to blob |
| `fileName` | function (optional) | function that receives a file reference and allows customization of the file name |

For more information about the meaning of individual parameters please check [Azure documentation](https://azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-blob-storage/) on node.js integration.

## Tests

Not implemented yet

## License

[MIT](LICENSE)

---
_Source: https://npm.io/package/multer-azure-storage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
