Skip to content

Commit 5a14ea0

Browse files
Merge pull request #143 from oss-slu/issue130
Fixed issue130 - added API support for multi file upload
2 parents cad9d12 + 1f8f783 commit 5a14ea0

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

server/application/rest/upload_files.py

+18-7
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,34 @@
2222
@blueprint.route('/upload', methods=['POST'])
2323
@cross_origin()
2424
def file_upload():
25-
'''
26-
This defines the API endpoint to upload input file
27-
'''
2825
if 'file' not in request.files:
2926
return Response(
3027
json.dumps({'message': 'No file part'}),
3128
mimetype="application/json",
3229
status=HTTP_STATUS_CODES_MAPPING[ResponseTypes.PARAMETER_ERROR],
3330
)
31+
files = request.files.getlist('file')
32+
all_responses = []
33+
final_status_code = HTTP_STATUS_CODES_MAPPING[ResponseTypes.SUCCESS]
3434

35-
file = request.files['file']
36-
response = file_upload_use_case(file)
35+
for file in files:
36+
response = file_upload_use_case(file)
37+
current_code = HTTP_STATUS_CODES_MAPPING[response.response_type]
38+
if current_code != HTTP_STATUS_CODES_MAPPING[ResponseTypes.SUCCESS]:
39+
final_status_code = current_code
40+
41+
all_responses.append(response.value)
3742

43+
if len(all_responses) == 1:
44+
return Response(
45+
json.dumps(all_responses[0]),
46+
mimetype="application/json",
47+
status=final_status_code,
48+
)
3849
return Response(
39-
json.dumps(response.value),
50+
json.dumps({"files": all_responses}),
4051
mimetype="application/json",
41-
status=HTTP_STATUS_CODES_MAPPING[response.response_type],
52+
status=final_status_code,
4253
)
4354

4455
@blueprint.route('/api/data', methods=['GET'])

0 commit comments

Comments
 (0)