@codesmith-99/react-file-preview
Version:
The url previewer is built using native html elements for previewing url of files of the following type
86 lines (72 loc) • 2.73 kB
Markdown
# react-file-preview
The url previewer is built using native html elements for previewing url of files of the following type
* csv files
* text files
* pdf files
* html files
* image files (supported by the browser)
* audio files (supported by the browser)
* video files (supported by the browser)
* docx, xlsx, pptx files
Also, for unsupported files or when an error occurs, it falls back to using an icon.
# Installation
```python
npm i @codesmith-99/react-file-preview
```
# Usage
Currently, the file supports only urls, in the future hopefully it can be extended to files also.
Basic Usage
```javascript
import React, { useState } from 'react'
import FileViewer from '@codesmith-99/react-file-preview'
export default function Demo() {
const [file, setFile] = useState<string>('')
const [mimeType, setMimeType] = useState<string>()
const [name, setName] = useState<string>('image.jpg')
return (
<>
<div>
<label>File url</label>
<br />
<input type='text' onChange={(e) => setFile(e.target.value)} />
</div>
<div>
<label>File mimeType</label>
<br />
<input type='text' onChange={(e) => setMimeType(e.target.value)} value={mimeType} />
</div>
<div>
<label>File name</label>
<br />
<input type='text' onChange={(e) => setName(e.target.value)} value={name} />
</div>
<div
style={{
height: '500px',
width: '500px',
}}
>
<FileViewer
loader={undefined}
mimeType={mimeType}
src={file}
onError={(e) => {
console.log(e)
}}
fileName={name}
/>
</div>
</>
)
}
```
# FileViewer Props
| Prop name | Type | Description |
|--------------|:---------------------------:|-----------:|
| src | string | The url of the file to be previewed |
| mimetype | string (optional) | Used to specify the mimetype of the file and determine how to preview the url, alternatively filename can be used |
| filename | string (optional) | The file extension is used to specify the mimetype of the file and determine how to preview the url, alternatively mimetype can be used |
| loader | ReactNode (optional) | A loader to replace the default loader used by the project |
| onError | (e: any) => void (optional) | A callback that can be used to detect if an error has occurred in the loading of the files|
| autoPlay | boolean | To autoplay a video or an audio
| containerErrorStyle | React.CSSProperties | The style of the container when an error occurs