An IPython notebook widget to upload files, using FileReader.
Install using pip:
pip install fileupload
Install JavaScript:
jupyter nbextension install [--user] --py fileupload
Enable the extension:
jupyter nbextension enable [--user] --py fileupload
import io
from IPython.display import display
import fileupload
def _upload():
_upload_widget = fileupload.FileUploadWidget()
def _cb(change):
decoded = io.StringIO(change['owner'].data.decode('utf-8'))
filename = change['owner'].filename
print('Uploaded `{}` ({:.2f} kB)'.format(
filename, len(decoded.read()) / 2 **10))
# file content stored in file_contents
file_contents = decoded.getvalue()
_upload_widget.observe(_cb, names='data')
display(_upload_widget)
_upload()
Base64 data is synced to the data_base64
member, decoded data can be
obtained from data
.
The name of the uploaded file is stored in filename
.
Refer to Changelog.