Я использую
response.headers['Content-Type'] = gluon.contenttype.contenttype('.xls')
response.headers['Content-disposition'] = 'attachment; filename=projects.xls'
для создания сохранения в виде диалогового окна.
Есть ли способ получить выбранный путь пользователем?
Браузер отображает диалоговое окно "Сохранить как" для пользователя, а затем записывает содержимое в этот файл. Он не сообщает серверу, к какому пути был сохранен контент. Боюсь, вы не сможете получить эту информацию.
Если вы задаете вопрос о том, как отправить содержимое файла пользователю, вы просто пишете контент в свой объект ответа. Браузер заботится о том, чтобы на самом деле записать файл в путь, выбранный пользователем.
В Django вы бы сделали что-то вроде:
def view(request):
# get the file content from somewhere
response = HttpResponse(file_content, mimetype='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=projects.xls'
return response
Затем браузер запросит у пользователя путь и сохранит файл "projects.xls" в этом пути.