formdata

Django 之AJAX

我们两清 提交于 2020-01-27 20:21:19
day72 2018-06-27 1. 内容回顾 1. 中间件 1. 中间件概念 2. 中间件应用的场景 对请求和相应做全局修改/处理 3. Django中间件的用法 1. 按照格式要求自己写一个类 1. from django.utils.deprecation import MiddlewareMixin 我们写的中间件的类要继承 MiddlewareMixin 2. 定义相应的方法(5种可以选择) 1. process_request(self, request) 1. 何时执行 2. 执行的顺序 --> 注册的正序 3. 返回值 1. 返回None --> 继续往后执行 2. 返回Response对象 --> 跳出直接返回响应(按照处理响应的操作继续往后执行) 2. process_view(self, request, view_func, args, kwargs) 1. 何时执行 2. 执行的顺序 --> 注册的正序 3. 返回值 1. 返回None --> 继续往后执行 2. 返回Response对象 --> 跳出直接返回响应(按照处理响应的操作继续往后执行) 3. process_exception(self, request, exception) 4. process_template_response(self, request, response) 5.

ASP实现图片上传

自闭症网瘾萝莉.ら 提交于 2020-01-27 11:03:16
用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服 务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易 虚拟社区 提供的“每日一星”的功能,就要提供给网友上传照片的功能。上传图片文件到服务 器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们 只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没 有可能来使用文件上传组件;至于第二种情况,我们也要付出不少的“银子”才可以。除非你 拥有自己的虚拟主机,你就可以随便的在服务器上面安装自己所需要的组件,这种情况对于大 多数人来说是可望而不可及的。那我们就没有办法了吗?呵呵,答案是肯定的(当然是肯定的 了,要不然我也没法写出这篇文章啊)。下面就让我们一起来使用纯ASP代码来实现图片的 上传以及保存到数据库的功能(顺便也实现显示数据库中的图片到网页上的功能)。    首先我们先来熟悉一下将要使用的对象方法。我们用来获取上一个页面传递过来的数据一 般是使用Request对象。同样的,我们也可以使用Request对象来获取上传上来的文件数据,使 用的方法是Request.BinaryRead()。而我们要从数据库中读出来图片的数据显示到网页上面要 用到的方法是: Request.BinaryWrite()

XMLHttpRequest异步对象

混江龙づ霸主 提交于 2020-01-27 09:17:35
XMLHttpRequest 异步对象 参考链接: MDN https://developer.mozilla.org/zh-CN/docs/Web/Guide/AJAX 一个成功的响应:有两个条件 1:服务器成功响应了。 2:异步对象的响应状态为4。 xhr.status == 200 可以获取当前服务器的响应状态。 xhr.readyState == 4。异步对象发送请求给服务器,服务器响应数据内容解析完毕,可以使用了。 xhr.responseText 服务器返回的数据 或者是XML数据格式。 readystatechange 监听客户端异步对象状态变化事件 readyState 可以检测 XHR 对象的 readyState 属性,该属性表示请求 / 响应过程的当前活动阶段 超时预定 XMLHttpRequest 2 级规范中为 XHR 对象添加了一个 timeout 属性,表示请求在等待响应多少毫秒之后就终止。 在给 timeout 设置一个数值后,如果在规定的时间内浏览器还没有接收到响应,那么就会触发 timeout 事件, 进而会调用 ontimeout 事件处理程序。如果在超时之后还去访问status属性就会导致错误,可以在status中封装 一个try-catch语句。 进度事件 load事件: 简化了异步交互模型,代替了readystatechange

原生JS使用ajax上传文件(支持单/多文件上传),ajax模拟表单方式上传文件(支持单/多文件上传),ajax和PHP实现模拟表单上传文件(支持单/多文件上传),有图片为例,复制即能用

做~自己de王妃 提交于 2020-01-26 11:30:04
原生JS模拟表单提交要用到 formData 先看截图: index.html是入口文件,同级的upload.php是PHP上传接口 看代码: 提示:这里直接是multiple上传多个文件的,如果是上传单文件的只需限制下上传文件的数量就行了,这里的upload.php是单文件和多文件统一上传接口,都支持 index.html <!DOCTYPE html> < html lang = " en " > < head > < meta charset = " UTF-8 " > < meta name = " viewport " content = " width=device-width, initial-scale=1.0 " > < meta http-equiv = " X-UA-Compatible " content = " ie=edge " > < title > 单/多文件上传demo </ title > < style > * { margin : 0 ; padding : 0 ; } html,body { width : 100% ; height : 100% ; } ul,dl,ol { list-style : none ; padding : 0 ; margin : 0 ; } .out-box { width : 100% ; height

django之choice、ajax初步

爷,独闯天下 提交于 2020-01-25 04:59:46
django之choice参数,ajax choice参数 应用场景:主要是用户性别、用户工作状态、成绩对应 ##在测试文件中运行,需要写以下几个模块 if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day62.settings") import django django.setup() choices = ( (1, 'male'), (2, 'female'), (3, 'others') ) gender = models.IntegerField(choices=choices) ##注意: """ 针对choices字段,如果想拿到数字所对应的的中文或者其他值 不能直接点字段 固定句式 数据对象.get_字段名_display() """ 执行下面两种语句 from app01 import models #1. user_obj = models.Userinfo.objects.filter(pk=2).first() print(user_obj.username) print(user_obj.gender) print(user_obj.get_gender_display()) ''' #会打印出来 nick 1 male #这样存在值的话

ajax上传文件

我怕爱的太早我们不能终老 提交于 2020-01-24 10:38:23
$('#submit').click(function () { var formData = new FormData(); formData.append("file",$('#file')[0].files[0]); formData.append("pid", $.trim($('#pid').val())); $.ajax({ url:'${ctx}/vegetable/market/tree/leading', dataType:'json', type:'POST', async: false, data: formData, processData : false, // 使数据不做处理 contentType : false, // 不要设置Content-Type请求头 success: function(data){ alert(data.message); if (data.status == "true") { window.location.reload(); } }, error:function(response){ console.log(response); } }); }) 来源: CSDN 作者: JAVA探索 链接: https://blog.csdn.net/top_explore/article/details/103826289

前端本地文件操作与上传

本秂侑毒 提交于 2020-01-23 11:47:07
前端无法像原生APP一样直接操作本地文件,否则的话打开个网页就能把用户电脑上的文件偷光了,所以需要通过用户触发,用户可通过以下三种方式操作触发: 通过input type="file" 选择本地文件 通过拖拽的方式把文件拖过来 在编辑框里面复制粘贴 第一种是最常用的手段,通常还会自定义一个按钮,然后盖在它上面,因为type="file"的input不好改变样式。如下代码写一个选择控件,并放在form里面: <form> <input type="file" id="file-input" name="fileContent"> </form> 然后就可以用 FormData 获取整个表单的内容: $("#file-input").on("change", function() { console.log(`file name is ${this.value}`); let formData = new FormData(this.form); formData.append("fileName", this.value); console.log(formData); }); 把input的value和formData打印出来是这样的: 可以看到文件的路径是一个假的路径,也就是说在浏览器无法获取到文件的真实存放位置。同时FormData打印出来是一个空的Objet

Django 开发相关知识 整理

时间秒杀一切 提交于 2020-01-23 10:34:59
前言 前端ajax HTTP请求头 ajax上传文件 jsonp跨域 URL 设计 分发 url参数编码 反向生成url 视图 request对象 POST url信息 视图返回值 HttpResponse JsonResponse shortcuts 返回值响应头和状态设置 CBV cookie与session 自定义404页面 ORM 字段 查询 管理器自带api django提供api(get_object_or_404 与 get_list_or_404) 原生查询 连表查询 用于查询的对象 Q对象 F对象 序列化 自定义Manager 模型继承 数据库事务 资源共享问题 分库 分库的方法 分库的思路 模版 内置过滤器 自定义过滤器 自定义simple_tag 页面分离与导入 settings.py配置 多个setting文件 静态文件与上传文件配置 日志配置 sql查询语句显示配置 django内置组件 Form组件 验证器 缓存 中间件 异常 脚本运行环境配置 APP ready方法 app设计 信号 时区 闪现 csrf auth组件 admin 邮件 第三方库 二级域名组件(django-hosts) cors跨域处理包(django-cors-headers) 调试工具(django-pdb) redis(django-redis) celery(django

js上传整个文件夹

假如想象 提交于 2020-01-22 06:50:09
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠。网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹。今天研究了一下这个问题,在此记录。 先说两个问题: 是否所有后端框架都支持文件夹上传? 是否所有浏览器都支持文件夹上传? 第一个问题:YES,第二个问题:NO 只要后端框架对于表单的支持是完整的,那么必然支持文件夹上传。至于浏览器,截至目前,只有 Chrome 支持。 如果需要其它的浏览器支持则需要借助于插件,比如泽优大文件上传控件: www.webuploader.net 关于WebUploader的功能说明: 大文件上传续传 支持超大文件上传(100G+)和续传,可以关闭浏览器,重启系统后仍然继续上传。 开源 提供ASP.NET,JSP,PHP示例和源代码,其中JSP提供MySQL,Oracle,SQL Server数据库的配置和示例代码。 分片、并发 分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。 预览、压缩 支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。 解析jpeg中的meta信息

文件夹上传第二弹

断了今生、忘了曾经 提交于 2020-01-22 06:48:33
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠。网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹。今天研究了一下这个问题,在此记录。 先说两个问题: 是否所有后端框架都支持文件夹上传? 是否所有浏览器都支持文件夹上传? 第一个问题:YES,第二个问题:NO 只要后端框架对于表单的支持是完整的,那么必然支持文件夹上传。至于浏览器,截至目前,只有 Chrome 支持。 如果需要其它的浏览器支持则需要借助于插件,比如泽优大文件上传控件: www.webuploader.net 关于WebUploader的功能说明: 大文件上传续传 支持超大文件上传(100G+)和续传,可以关闭浏览器,重启系统后仍然继续上传。 开源 提供ASP.NET,JSP,PHP示例和源代码,其中JSP提供MySQL,Oracle,SQL Server数据库的配置和示例代码。 分片、并发 分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。 预览、压缩 支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。 解析jpeg中的meta信息