feat: Improve file preview with Blob URLs
Utilize `URL.createObjectURL` for richer file previews, especially for PDFs. This approach provides better compatibility and performance compared to Base64 previews. Introduces memory leak prevention by revoking Blob URLs when the component unmounts or the app resets.
This commit is contained in:
parent
778caa8a45
commit
d6cab4aeb5
3 changed files with 70 additions and 31 deletions
10
App.tsx
10
App.tsx
|
|
@ -44,6 +44,14 @@ const App: React.FC = () => {
|
|||
};
|
||||
|
||||
const reset = () => {
|
||||
// Cleanup blob URLs to prevent memory leaks
|
||||
if (formFile?.previewUrl && formFile.previewUrl.startsWith('blob:')) {
|
||||
URL.revokeObjectURL(formFile.previewUrl);
|
||||
}
|
||||
if (sourceFile?.previewUrl && sourceFile.previewUrl.startsWith('blob:')) {
|
||||
URL.revokeObjectURL(sourceFile.previewUrl);
|
||||
}
|
||||
|
||||
setStatus(AppStatus.IDLE);
|
||||
setFormFile(null);
|
||||
setSourceFile(null);
|
||||
|
|
@ -223,4 +231,4 @@ const App: React.FC = () => {
|
|||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
export default App;
|
||||
Loading…
Add table
Add a link
Reference in a new issue