本篇主要讲的是ajax下的文件上传
引用>模板html文件内容
<代码类=" language-html "> & lt;形式id=癴ileUploadForm”比; & lt;输入类型="文件" name="文件" id=癴ile_input”比; & lt;/form> 代码>编写文件上传js
<代码类=" language-js ">功能上传(){//ajax上传文件 var file_input=$ (' # file_input '); 如果(file_input.val ()==? { 返回错误; } var formData=https://www.yisu.com/zixun/new formData ($ (“# fileupload_form”) [0]); . ajax({美元 类型:“文章”, url:/api/类/, 数据:formData, 数据类型:json, contentType:假的, processData:假的, 成功:功能(数据){ 如果(data.info) { console.log(“文件上传成功!”); 返回; 其他}{ console.log(“文件上传失败!”); 返回错误; } }, 错误:函数(){ console.log(“文件上传失败!”); 返回错误; } }); }代码><>强服务器端视图代码如下强>
<代码类="语言python ">类FileUpload(观点): “‘ 文件上传 “‘ def post(自我,请求): 试一试: 文件=request.FILES.get(“文件”) 如果文件。大小祝辞=2097152): #当上传文件大于2米时抛出异常 提高RuntimeError (“fileSizeError”) 除了例外错误: 打印(错误)代码>文章提交过来的文件需要使用<强> request.FILES.get() 强>去获取,而不能直接使用request.POST.get ()
<强> 非ajax文件上传 强>
需要为形式表单添加enctype属性,其值必须为<强>多部分/格式>强,请求方式依然为文章<代码类=" language-html "> & lt;形式id=癴ileUploadForm”enctype=岸嗖糠?格式”方法=癙OST”比; & lt;输入类型="文件" name="文件" id=癴ile_input”比; & lt;输入类型="提交" value=" https://www.yisu.com/zixun/提交”比; & lt;/form> 代码>Django文件上传