Javascript 如何使用ajax上传excel并返回pptx(python django)
我正在尝试使用django、python pptx上传excel并返回ppt。我曾经成功地使用ajax上传excel,并使用python pptx制作ppt。但是我在如何返回ppt文件和如何下载ppt文件方面失败(我想使用ajax方法)。 有两个主要问题我无法解决 首先,我不能使用ajax创建表单,因为csrf总是阻止我。我知道Javascript 如何使用ajax上传excel并返回pptx(python django),javascript,python,django,ajax,powerpoint,Javascript,Python,Django,Ajax,Powerpoint,我正在尝试使用django、python pptx上传excel并返回ppt。我曾经成功地使用ajax上传excel,并使用python pptx制作ppt。但是我在如何返回ppt文件和如何下载ppt文件方面失败(我想使用ajax方法)。 有两个主要问题我无法解决 首先,我不能使用ajax创建表单,因为csrf总是阻止我。我知道formdata.append('csrfmiddlewaretoken','{csrf\u token}') 但我不能用它来做手术 if (disp &&
formdata.append('csrfmiddlewaretoken','{csrf\u token}')
但我不能用它来做手术
if (disp && disp.search('attachment') != -1) {
var form = $('<form action="' + '/auto/' + '" method="post"></form>');
$('body').append(form);`enter code here
<script>
function loadFile(file) {
$("#filename").html(file.name);
console.log(file.name)
}
$("#btn").bind("click", function() {
var formdata = new FormData()
var file = $("#ranran")[0].files[0]
formdata.append('file', file)
formdata.append('name', file['name'])
formdata.append('csrfmiddlewaretoken', '{{csrf_token}}')
console.log(formdata)
$.ajax({
type: "post",
url: "/auto/",
contentType: false,
processData: false,
data: formdata,
success: function(response, status, request) {
var disp = request.getResponseHeader('Content-Disposition');
if (disp && disp.search('attachment') != -1) {
var form = $('<form action="' + '/auto/' + '" method="post"></form>');
$('body').append(form);
form.submit();
}
}
})
})
</script>`
上面说
“Presentation”对象不可编辑
请帮助我,谢谢在应用
FileResponse()
之前,可能需要将演示文稿保存为文件或io.BytesIO
。类似于prs.save(“my prs.pptx”)的东西。如果不希望文件系统中充斥着下载的临时文件,请搜索保存到内存中的文件。在应用FileResponse()
之前,可能需要将演示文稿另存为文件或io.BytesIO
。类似于prs.save(“my prs.pptx”)的东西。如果您不希望文件系统被下载的临时文件弄得乱七八糟,请搜索保存到内存中的文件。
from pptx import Presentation
from django.http import FileResponse
prs = Presentation()
return FileResponse(prs)