A file input uses the same .form-control and size classes as a text field. Bootstrap 2,007 restyles the browser's "Choose File" button through the ::file-selector-button pseudo-element, so multiple, accept and dropping files onto the field keep working.
<link rel=stylesheet href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css">
<div class="p-3 row g-2">
<div class="col-6"><input class="form-control" type="file" accept="image/*"></div>
<div class="col-6"><input class="form-control" type="file" multiple></div>
<div class="col-6"><input class="form-control form-control-sm" type="file"></div>
<div class="col-6"><input class="form-control" type="file" disabled></div>
</div>
The "No file chosen" text is localized by the browser, so leave room for longer strings. Read the chosen files from input.files (FileReader and Blob).