浅析Django接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求

  

如果是后台上传文件:

  

设置配置:

        STATIC_URL='/静态/'   STATICFILES_DIRS=[   os.path。加入(BASE_DIR“静态”),   os.path。加入(BASE_DIR,“媒体”),   ]   # Django用户上传的都叫媒体文件   MEDIA_URL="/媒体/"   #媒体配置,用户上传的文件都默认放在这个文件夹下   MEDIA_ROOT=os.path。加入(BASE_DIR,“媒体”)      模型的配置:   img=models.FileField (upload_to=癷mg/verbose_name=巴计?      

,接收任何文件的前端代码:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> Title   & lt;/head>   & lt; body>   & lt;形式方法=皃ost”action="/上传/" enctype=癿ultipart/格式”目标=癷fm1”比;         & lt;输入类型="文件" name="文件" id=拔募?比;         & lt;输入类型="按钮" value=" https://www.yisu.com/zixun/提交”/比;   & lt;/form>   & lt; br>   & lt; br>   & lt; br>   & lt; br>   & lt; div>显示图片   & lt; img id=巴枷瘛北?   & lt;/div>   & lt; br>   & lt; br>   & lt; br>   & lt; br>   & lt; div>显示路径   & lt; a href=" " id=" rel="外部nofollow”图片“祝辞链接& lt;/a>   & lt;/div>      & lt;/div>   & lt; br>   & lt; br>   & lt; br>   & lt; br>   & lt; div>   {# href=" https://www.yisu.com/static/img/TC代码. txt”rel=巴獠縩ofollow”#}   & lt; id=吧稀北?下载文件& lt;/a>   & lt;/div>      & lt;脚本src=" https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js "祝辞& lt;/script>      & lt; script>   函数上传(){   var formData=https://www.yisu.com/zixun/new formData ();   var文件=. getelementbyid(“文件”).files [0];   formData。追加(“文件”,文件);   . ajax({美元   url:“上传/?   类型:“文章”,   数据:formData,   数据类型:“json”,   缓存:假的,//上传文件无需缓存   processData:假的,//用于对数据参数进行序列化处理这里必须假   contentType:假的,//必须*/成功:功能(数据){   控制台。日志(“22”,数据);   $(" #图片”)。attr (" src " data.image)   $(" #图片”)。attr (“href”, data.image)      }   });   }   美元(“#”)。(“点击”,函数(){   . ajax({美元   url: http://127.0.0.1:8000“//?   类型:“获得”,   数据:{},   成功:功能(数据){   var $=$ (' & lt; a> & lt;/a>”);      一个美元。attr (“href”、“http://127.0.0.1:8000//?;   (“身体”).append美元(美元);   一个美元[0].click ();   美元a.remove ();   }      })      });   & lt;/script>   & lt;/body>   & lt;/html>      

增加任何文件的后端接口代码:

        从rest_framework。视图导入APIView   django。快捷方式进口呈现,重定向,HttpResponse   从木豆导入模型   django。http进口JsonResponse      类ImageShow (APIView):      def post(自我,请求):   name=str (request.data.get(“名字”))   消息={}      img_url="/静态/img/{}“.format(名字)      obj=models.Car.objects.filter (img_url=img_url)当代()   如果obj:      消息(“代码”)=200   消息(“信息”)=img_url #返还路径   返回JsonResponse(消息)      

下载文件后端:

        从django.utils。http进口urlquote   从rest_framework。视图导入APIView   django。快捷方式进口呈现,重定向,HttpResponse   从木豆导入模型   django。http进口JsonResponse、FileResponse StreamingHttpResponse         类fileShow (APIView):      def(自我,请求):   消息={}   文件=打开(“媒体/img/TC代码. txt”, rb) #字符串替换成文件   file.name打印(“文件”)   # file_names=file.name.split (“/? [1]   #打印(“file_names file_names)      响应=FileResponse(文件)   反应(“内容类型”)='应用程序/八进制的      反应(“附加”)="附件;文件名={}“.format (urlquote (“TC代码. txt ")) #字符串替换成下载文件   打印(响应)   返回响应      

  

到此这篇关于Django接收所有文件前端展示文件(包括视频,文件,图片)ajax请求的文章就介绍到这了,更多相关Django接收所有文件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

浅析Django接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求