欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

文件上传三种方式

发布时间:2025/5/22 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 文件上传三种方式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

需求

上传图片在页面显示

 

Form表单上传

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <form method="POST" action="/upload.html" enctype="multipart/form-data">
      <input type="text" name="user" />
      <input type="file" name="fafafa" />
      <input type="submit" value="提交" />
  </form>

  <div>
      {% if img %}
          <img style="height: 200px;width: 200px;" src="/{{ img }}" />
      {% endif %}
  </div>
  <script src="/static/jquery-2.1.4.min.js"></script>
  
</body>
</html>

//后台代码
from django.shortcuts import render
import os
def upload(request):
  if request.method == 'GET':
      return render(request,'upload.html')
  elif request.method == "POST":
      user = request.POST.get('user')
      fafafa = request.POST.get('fafafa')
      obj = request.FILES.get('fafafa')

      file_path = os.path.join('static','upload',obj.name)
      f = open(file_path, 'wb')
      for chunk in obj.chunks():
          f.write(chunk)
      f.close()
      ret = {'status': True, 'path': file_path}
      return render(request,"upload.html",{'img':file_path})

缺点:上传后整个页面会刷新,不好

 

Ajax上传

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
      .container img{
          width200px;
          height200px;
      }
  </style>
</head>
<body>
  <input ID="v1" name="user" placeholder="用户">
  <input type="file" name="fafafa" id="img" />
  <input type="button" value="提交XML" onclick="UploadXML()" />
  <input type="button" value="提交JQ" onclick="Uploadjq()" />
  <div id="imgs">

  </div>
</body>
  <script src="/static/jquery-2.1.4.min.js"></script>
  <script>
      function UploadXML({
          var dic = new FormData();
          dic.append('user', $('#v1').val());
          dic.append('fafafa'document.getElementById('img').files[0]);

          var xml = 

转载于:https://www.cnblogs.com/IT-Scavenger/p/9266512.html

总结

以上是生活随笔为你收集整理的文件上传三种方式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。