我正在努力实现以下目标:
我不确定这是否可行(我只看到了传递简单JSON文件的方法),但是我希望获得一些帮助。现在,我可以创建文件并将其下载到客户端的桌面。然后,客户端必须经过其桌面才能搜索文件并上传文件,因此JavaScript可以使用它(通过FileReader)。理想情况下,我想直接将文件发送到Javascript,而不需要所有不必要的步骤。我的代码:
在template.html中:
# To download the created file from Django/Python
<input type="button" value="Download"
onclick="window.open('filemaker/download_my_file', '_self')">
# To select the file, so Javascript can use it
<input type='file' id='test'>
在template.js中:
$(document).ready(function () {
// The document is ready
$('#test').change(insertFile);
});
function insertFile(){
var myFile = document.getElementById("test");
var reader = new FileReader();
reader.onload = function (event) {
// some JavaScript Stuff
};
reader.readAsDataURL(myFile.files[0]);
}
在urls.py中:
urlpatterns = [
path('/download_my_file', views.create_file_function),
]
在views.py中:
def create_file_function():
document = Document()
document.add_heading('Document Title', 0)
response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document')
response['Content-Disposition'] = 'attachment; filename=aass.docx'
document.save(response)
return response
任何想法如何从create_file_function()到insertFile()中的var MyFile的响应都将不胜感激。非常感谢您的帮助!