index.html
<body>
<form action="/file_put/" method="post" enctype="multipart/form-data">
{% csrf_token %}
用户名:<input type="text" name="user" id="user">
上传:<input type="file" name="file" id="file">
<input type="button" value="提交" class="filebtn">
</form>
<script>
$(".filebtn").click(function () {
var formdata=new FormData();
formdata.append("file_obj",$("#file")[0].files[0]);
formdata.append("user",$("#user").val());
formdata.append("csrfmiddlewaretoken",$("input[name='csrfmiddlewaretoken']").val());
$.ajax({
url:"/file_put/",
type:"post",
processData: false , // 不处理数据
contentType: false, // 不设置内容类型
data:formdata,
success:function (response) {
console.log(response)
}
})
})
</script>
</body>
view.py
# 文件上传
from ORM import settings
import os
def file_put(request):
print(request.FILES)
file_obj=request.FILES.get("file_obj")
path=file_obj.name
print("base_dir",settings.BASE_DIR)
path=os.path.join(settings.BASE_DIR,"media","img",path)
with open(path,"wb") as f:
for line in file_obj:
f.write(line)
return HttpResponse("ok")