.. image:: https://img.shields.io/pypi/v/fileupload.svg :target: https://pypi.python.org/pypi/fileupload/ :alt: Latest Version
.. image:: https://img.shields.io/pypi/dm/fileupload.svg :target: https://pypi.python.org/pypi/fileupload/ :alt: Downloads
.. image:: https://beta.mybinder.org/badge.svg :target: https://beta.mybinder.org/v2/gh/draperjames/fileupload2binder/master?filepath=index.ipynb :alt: Binder
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
.. code-block:: python
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))
_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_.
.. _FileReader: https://developer.mozilla.org/en-US/docs/Web/API/FileReader .. _Changelog: ./ChangeLog