|
9 | 9 | import tempfile |
10 | 10 |
|
11 | 11 | import requests |
| 12 | +from requests_toolbelt.multipart.encoder import MultipartEncoder |
12 | 13 | from urllib3.filepost import encode_multipart_formdata |
13 | 14 |
|
14 | 15 | from pyclowder.datasets import get_file_list |
@@ -312,7 +313,11 @@ def upload_to_dataset(connector, host, key, datasetid, filepath, check_duplicate |
312 | 313 | url = '%sapi/uploadToDataset/%s?key=%s' % (host, datasetid, key) |
313 | 314 |
|
314 | 315 | if os.path.exists(filepath): |
315 | | - result = connector.post(url, files={"File": open(filepath, 'rb')}, |
| 316 | + filename = os.path.basename(filepath) |
| 317 | + m = MultipartEncoder( |
| 318 | + fields={'file': (filename, open(filepath, 'rb'))} |
| 319 | + ) |
| 320 | + result = connector.post(url, data=m, headers={'Content-Type': m.content_type}, |
316 | 321 | verify=connector.ssl_verify if connector else True) |
317 | 322 |
|
318 | 323 | uploadedfileid = result.json()['id'] |
@@ -345,10 +350,11 @@ def _upload_to_dataset_local(connector, host, key, datasetid, filepath): |
345 | 350 | source_path) |
346 | 351 | break |
347 | 352 |
|
348 | | - (content, header) = encode_multipart_formdata([ |
349 | | - ("file", '{"path":"%s"}' % filepath) |
350 | | - ]) |
351 | | - result = connector.post(url, data=content, headers={'Content-Type': header}, |
| 353 | + filename = os.path.basename(filepath) |
| 354 | + m = MultipartEncoder( |
| 355 | + fields={'file': (filename, open(filepath, 'rb'))} |
| 356 | + ) |
| 357 | + result = connector.post(url, data=m, headers={'Content-Type': m.content_type}, |
352 | 358 | verify=connector.ssl_verify if connector else True) |
353 | 359 |
|
354 | 360 | uploadedfileid = result.json()['id'] |
|
0 commit comments