I did setup an ipython server for other people (in my company department) to have a chance to learn and work with python.
Now I wonder how people can load their own local data into the ipython notebook session on the remote server. Is there any way to do this?
Since you have jupyter
installed, all users should see the files/folders in the jupyter
startup directory as well as its subdirectory. The new
button on the jupyter
notebook can be used to create a new file/folder or even a terminal. Files can be uploaded using drag-drop or click here
feature highlighted below.

An alternative way to achieve this with python:
def jupyter_upload(token, filePath, resourceDstPath, jupyterUrl='http://localhost:8888'):
"""
Uploads File to Jupyter Notebook Server
----------------------------------------
:param token:
The authorization token issued by Jupyter for authentification
(enabled by default as of version 4.3.0)
:param filePath:
The file path to the local content to be uploaded
:param resourceDstPath:
The path where resource should be placed.
The destination directory must exist.
:param jupyterUrl:
The url to the jupyter server. Default value is typical localhost installation.
:return: server response
"""
import os
import base64
import urllib
import json
import requests
dstPath = urllib.quote(resourceDstPath)
dstUrl = '%s/api/contents/%s' % (jupyterUrl, dstPath)
fileName = filePath[1 + filePath.rfind(os.sep):]
headers = {}
headers['Authorization'] = 'token '+token
with open(filePath, 'r') as myfile:
data=myfile.read()
b64data=base64.encodestring(data)
body = json.dumps({
'content':b64data,
'name': fileName,
'path': resourceDstPath,
'format': 'base64',
'type':'file'
})
return requests.put(dstUrl, data=body, headers=headers, verify=True)
If it is a text file, create a empty file, edit it and then copy/paste the content..
You can do this to bypass the 25mb constraint
来源:https://stackoverflow.com/questions/29968829/load-local-data-into-ipython-notebook-server