
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@react-league/react-file-previewer
Advanced tools
> [!IMPORTANT] > This repository has been moved to [React league](https://github.com/react-league/react-file-previewer)
[!IMPORTANT] This repository has been moved to React league
A browser/device-agnostic file previewer for PDF and image file types built on top of React-PDF.
npm i @react-league/react-file-previewer
This component supports URLs and base64 encoded data.
import FilePreviewer from '@react-league/react-file-previewer';
export const App = () => (
<div>
<h1>My App</h1>
<FilePreviewer file={{
url: "https://cors-anywhere.herokuapp.com/http://africau.edu/images/default/sample.pdf"}}
/>
</div>
);
import FilePreviewer from '@react-league/react-file-previewer';
export const App = () => (
<div>
<h1>My App</h1>
<FilePreviewer
file={{
data: "<base64 string>",
mimeType: 'application/pdf',
name: 'sample.pdf' // for download
}}
/>
</div>
);
import { useState } from 'react';
import FilePreviewer from '@react-league/react-file-previewer';
const PDF1_URL =
'https://cors-anywhere.herokuapp.com/http://africau.edu/images/default/sample.pdf';
export const App = () => {
const [file, setFile] = useState({ url: PDF1_URL });
const onFileChange = event => {
const fileReader = new window.FileReader();
const file = event.target.files[0];
fileReader.onload = fileLoad => {
const { result } = fileLoad.target;
setFile({ url: result });
};
fileReader.readAsDataURL(file);
};
return (
<div>
<h1>My App</h1>
<input type="file" onChange={onFileChange} />
<FilePreviewer
file={file}
/>
</div>
)
};
This will render the first page of the file as a thumbnail. It takes the exact same props as the default export
FilePreviewer
.
import {FilePreviewerThumbnail} from '@react-league/react-file-previewer';
export const App = () => (
<div>
<h1>My App</h1>
<FilePreviewerThumbnail
file={{
data: "<base64 string>",
mimeType: 'application/pdf',
name: 'sample.pdf' // for download
}}
/>
-or-
<FilePreviewerThumbnail file={{
url: "https://cors-anywhere.herokuapp.com/http://africau.edu/images/default/sample.pdf"}}
/>
</div>
);
Prop name | Type | Description |
---|---|---|
file | object | Refer to file object |
onClick | function | Event handler for when viewer is clicked |
hideControls | bool | If 'true', viewer won't display the zoom, page up/down, and fit-to-screen controls |
Prop name | Type | Description |
---|---|---|
file | object | Refer to file object |
onClick | function | Event handler for when viewer is clicked |
hideControls | bool | If 'true', viewer won't display the zoom, page up/down, and fit-to-screen controls |
style | object | Any css style overrides |
Prop name | Type | Description |
---|---|---|
url | string | This can be used by itself with no other prop |
data | string | Base64 encoded string of file. If used, mimeType must also be provided |
mimeType | string | Type of the file |
name | string | Used to specify the filename when download button is clicked |
FAQs
> [!IMPORTANT] > This repository has been moved to [React league](https://github.com/react-league/react-file-previewer)
The npm package @react-league/react-file-previewer receives a total of 14 weekly downloads. As such, @react-league/react-file-previewer popularity was classified as not popular.
We found that @react-league/react-file-previewer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.