HelpBot Assistant

How can I help you?

Check file size before uploading it in React Uploader component

21 Feb 20263 minutes to read

Validate file sizes before upload by using the uploading event. The file object contains the file size in bytes. Convert this size to user-friendly formats such as KB or MB using the bytesToSize method.

import { UploaderComponent } from '@syncfusion/ej2-react-inputs';
import * as React from 'react';
import * as ReactDOM from "react-dom";
export default class App extends React.Component {
    uploadObj;
    path = {
        removeUrl: 'https://services.syncfusion.com/react/production/api/FileUploader/Remove',
        saveUrl: 'https://services.syncfusion.com/react/production/api/FileUploader/Save'
    };
    onBeforeUpload(args) {
        // get the file size in bytes
        const sizeInBytes = args.fileData.size;
        // get the file size in standard format
        alert("File size is: " + this.uploadObj.bytesToSize(sizeInBytes));
    }
    render() {
        return (<UploaderComponent autoUpload={false} ref={upload => { this.uploadObj = upload; }} asyncSettings={this.path} uploading={this.onBeforeUpload = this.onBeforeUpload.bind(this)}/>);
    }
}
ReactDOM.render(<App />, document.getElementById('fileupload'));
import { UploaderComponent, UploadingEventArgs } from '@syncfusion/ej2-react-inputs';
import * as React from 'react';
import * as ReactDOM from "react-dom";

export default class App extends React.Component<{}, {}> {
  public uploadObj: UploaderComponent;
  public path: object = {
      removeUrl: 'https://services.syncfusion.com/react/production/api/FileUploader/Remove',
      saveUrl: 'https://services.syncfusion.com/react/production/api/FileUploader/Save'
  }
  public onBeforeUpload(args: UploadingEventArgs): void {
    // get the file size in bytes
    const sizeInBytes: number = args.fileData.size;
    // get the file size in standard format
    alert("File size is: " + this.uploadObj.bytesToSize(sizeInBytes));
  }
  public render(): JSX.Element {
    return (
      <UploaderComponent autoUpload={false} ref = {upload => {this.uploadObj = upload !}} asyncSettings={this.path} uploading={this.onBeforeUpload = this.onBeforeUpload.bind(this)} />
    );
  }
}

ReactDOM.render(<App />, document.getElementById('fileupload'));

You can also explore React File Upload feature tour page for its groundbreaking features. You can also explore our React File Upload example to understand how to browse the files which you want to upload to the server.