with my Flask App I created some files to the heroku filesystem. I know that the files are deleted by each dyno restart.
In my html/javascript frontend I want to download it now via button.
The question is, how can I get the download url of these files in the heroku filesystem?
Thank you!
CodePudding user response:
I got the solution for my problem:
Python:
@app.route("/test", methods=['GET', 'POST'])
def test():
if request.method == "POST":
print("hello1")
f = open("myfile.txt", "w")
f.write("content")
f.close()
f = open("myfile.txt", 'r')
return json.dumps({'success': True, 'data': f.read()}), 200, {'ContentType':
'application/json'}
Javascript:
$.ajax('/test', {
type: 'POST',
data: { myData: product},
dataType: 'json',
success: function(data, status, xhr) {
console.log('response')
console.log(data)
console.log(data['success'])
var bytes = new Uint8Array(data['data']); // pass your byte response to this constructor
var blob=new Blob([data['data']], {type: "text/plain"});// change resultByte to bytes
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download="myfile.txt";
link.click();
},
error: function (jqXhr, testStatus, errorMessage) {
console.log("error")
}
});