2008年 2 月,XMLHttpRequest Level 2 草案提出来了,相对于上一代,它有一些新的特性,其中 FormData 就是 XMLHttpRequest Level 2 新增的一个对象...一、FormData对象作用 用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 异步上传二进制文件 二、FormData的使用 先来看一下...append方法和set都可以向FormData中添加数据,不同的是set方法是直接向FormData中添加,覆盖掉之前的数据,append方法是向其追加数据,即name对应的value将成为一个数组,...落帆亭"] fd.has("name")//true 使用FormData对象发送文件 通过FormData可以实现异步上传文件。...cache: false, // 不缓存 processData: false, // jQuery不要去处理发送的数据
前言 Blob、ArrayBuffer、File、FileReader、FormData这些名词总是经常看到,知道一点又好像不知道,像是同一个东西好像又不是,总是模模糊糊,最近终于下决心要弄清楚。...这些名词里: Blob、ArrayBuffer、File可以归为一类,它们都是数据; FileReader算是一种工具,用来读取数据; FormData可以看做是一个应用数据的场景。...因此,我们首先着重区分Blob、ArrayBuffer、File,然后再对fileReader和FormData做简要介绍。...准确来说,FormData其实与上述内容关系就不大了。...FormData的最大优点就是,比起普通的ajax, 使用FormData我们可以异步上传一个二进制文件,而这个二进制文件,就是我们上面讲的Blob对象。
Formdata接口 “Formdata”接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去。...方法、属性如下: FormData([Form])创建一个新的 FormData 对象,form这种方式创建的FormData对象会自动将form中的表单值也包含进去,包括文件内容也会被编码之后包含进去...FormData.get()返回在 FormData 对象中与给定键关联的第一个值。 FormData.getAll()返回一个包含 FormData 对象中与给定键关联的所有值的数组。...首先创建一个a标签,href属性赋值为要下载文件对象的URL,然后调用a标签上的click()方法就可以下载file文件到本地了。...只要持续发送数据则不会断掉 3.客户端部分 修改客户端执行上传时,限制的超时时间。
= "") { formData.append("file", file); } formData.append("city...1、用formData格式传输参数Controller的参数名也要和form表单name对应 2、因为我之前是用var file = $('#file').val();得到的file,后台用MultipartFile...file一直接收不到(就是这地方搞了好久) 后来慢慢调错,发现Controller里用String file 就能收的到,就觉得肯定是前台传过来的不对,然后前台alert(file)发现是图片路径,不是...var file = $("#file")[0].files[0]; 直接new formData(“form...”) 好像也是传的string类型图片。...总是能解决的。 ---- 本来这会已经躺床上了.... NYN
SpaceX的推特上宣布了手机通过卫星发送和接收到了第一条短信: 在星链的加持下,全球可以无死角全覆盖了,不管你是在城市,还是在山野,在无人区,在天涯海角,都可以使用卫星进行通信。...卫星通信是地球上的无线电通信站间用卫星为中继的通信,凡是在卫星电波所覆盖的范围内,任何两点之间都能够进行通信。...卫星天线的工作模式是将卫星信号,反射到位于焦点处的馈源和高频接收头内。卫星天线除了接收反射信号以外,它的另一个作用就是消除掉信号中的杂质,让信号不受干扰。...卫星天线信号的强弱和它抛物面的大小以及安装的方向等都有很大的关系。...卫星通信的原理 把卫星发射到赤道上空 36000km 高的对地静止轨道上,再用卫星上的通信转发器接收从地面站发射出来的信号,对信号进行放大变频后再转发给其他地面站,来完成两个地面站之间的传输。
这些功能我们通常通过Canvas来进行,最后使用Canvas API函数toDataURL来得到图片的Base64字符串,然后当我们要上传到后台的时候,会面临2种选择: 直接将图片的Base64字符串Post...到后端进行处理和保存 在前端将Base64字符串转换成二进制的Blob对象形式,再使用常规的文件上传形式(即FormData)来将其上传到后端 第一种方式对前端来说比较简单,主要的处理逻辑在后端。...而第二种的话前端的工作就稍微复杂一些。考虑到后端采用接收二进制文件的方式来处理文件上传的情况比较多,所以我们来看一下前面所说的第二种情况在前端怎么来实现,以下是主要的示例代码: formData = new FormData(); //注意:此处第3个参数最好传入一个带后缀名的文件名,否则很有可能被后台认为不是有效的图片文件...: formData.append("file", blob, file.name); 如果不传第三个参数的话,生成的表单数据中,上传文件对应的filename会被设置为blob: ?
javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; /** 发送带附件的邮件...authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件发送的属性和密码验证器构造一个发送邮件的...Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom...(mailInfo.getSubject()); // 设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); // MiniMultipart...类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart
var form=document.getElementById("formId"); var formData=new FormData(form); var oReq...} } } oReq.open("POST", "http://localhost:3000/doup"); oReq.send(formData...); 该方法是可以跨域的(端口不同的跨域),亲测可用! ...服务端如何处理的解决方案看我的这篇文章http://www.cnblogs.com/theone67/p/6698762.html
https://blog.csdn.net/wkyseo/article/details/51240496 FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据...(当然是用于XHR传输)提供便利,使用FormData的最大优点就是我们可以异步上传一个二进制文件,兼容性需要IE10+。...); void append(DOMString name, DOMString value); 如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾 formData.append...formData.getAll("k1"); // ["v1","v2","v1"] get formData.get("name"); // 获取key为name的第一个值 formData.getAll...Function && option.uploadProgress(per); }; xhr.open("post", url, true); //不能是GET, get请求数据发送只能拼接在
大家好,又见面了,我是你们的朋友全栈君。...javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; /** * 发送带附件的邮件...则创建一个密码验证器 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件发送的属性和密码验证器构造一个发送邮件的...Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom(from...(Message.RecipientType.TO, to); // 设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); // 设置邮件消息发送的时间
,用户可以点击该按钮后选择本地要上传的文件 在页面中使用input标签,type值设置为”file”即可 确定上传请求的发送方式 上传成功后的响应结果在当前页面显示,使用ajax请求来完成资源的发送 上传请求的请求数据及其数据格式...在上传请求中,将请求数据以二进制流的方式发送给服务器。 4....在ajax中如何发送二进制流数据给服务器 ① 创建FormData的对象,将请求数据存储到该对象中发送 ② 将processData属性的值设置为false,告诉浏览器发送对象请求数据 ③ 将contentType...var file=$("#file")[0].files[0]; //创建FormData对象存储要上传的资源 var formData...获取到了,将数据利用ajax发送,所以需要将数据放到formDate对象里面 //创建FormData对象存储要上传的资源 var formData=new FormData
前端时间在做手机WAP网站时,遇到需要点击页面上显示的电话号能直接拨号的需求,查找资料发现可以使用html的a标签完美实现该需求!记录下来以备后用。。。。。。 ...目前主流手机浏览器对H5的支持已经很不错了,它们都可以对a标签的这些妙用进行对应的响应。...一、a标签实现在手机端点击直接拨打电话的效果代码: 拨打电话联系我们 二、a标签实现在手机端点击直接发送短信的效果代码 ...给我们发短信 三、a标签实现在手机端点击直接发送邮件的效果代码 给我们发送邮件
#pragma mark -发送短信 @interface ViewController () { UIAlertView *mfAlertview;//定义一个弹出框...completion:nil]; [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"发送短信...cancelButtonTitle:@"好" otherButtonTitles:nil, nil nil]; [alert show]; } } //短信发送成功后的回调...switch (result) { case MessageComposeResultCancelled: { //用户取消发送...} break; case MessageComposeResultFailed://发送短信失败 {
在一些并发量比较高的"中小型"应用中,如果短期内有大量的数据插入,利用msmq中转是一个不错的选择(petshop就是这么干的),想知道msmq一秒钟内到底能发多少条记录吗? ...msg.Body = i.ToString().PadLeft(8, '0'); 27 //msg.Recoverable = true;//设置消息可恢复(即服务器重启后,消息还在,但是启用这个选项将会使发送时间加倍...,因为"可恢复"的机制就是先在服务器硬盘生成文本文件,多了一次写文件的IO操作) 28 queue.Send(msg); 29 } 30 31 ...stopWatch.Stop(); 32 33 Console.WriteLine("{0}条发送完成,共耗时:{1}秒,平均每秒发送{2}条!"...T60上跑出来的结果,大概1s钟能发2500条左右(也就是说下订单的话,一秒钟能顺畅下2500张单子,中小型购物系统中应该够用了)
autoload.php'; use PHPMailer\PHPMailer\PHPMailer; //test sendmail('111@qq.com', 'test', 'ccc'); /** * 邮件发送函数
[mailVC setMessageBody:@"魑魅魍魉,哈哈呵呵嘿嘿霍霍" isHTML:NO]; }else{ NSLog(@"此设备不支持邮件发送...error{ switch (result) { case MFMailComposeResultCancelled: NSLog(@"取消发送..."); break; case MFMailComposeResultFailed: NSLog(@"发送失败");...NSLog(@"保存草稿文件"); break; case MFMailComposeResultSent: NSLog(@"发送成功...break; } [self dismissViewControllerAnimated:YES completion:nil]; } // 系统发送
public static void send(String urlPath, String content) throws JSONException { ...
一、在发送文件时,有时需要发送附件。下面的代码实现了带附件的邮件发送: ? 代码运行结果: ? 成功发送带附件的邮件,如图所示: ? 通过MIMEMultipart()模块构造的带附件的邮件。...二、查找最新的测试报告 已经知道了如何通过Python编写发邮件程序,但是想和自动化测试项目结合还需要解决一个问题,因为测试报告的名称是根据当前时间生成的,所以如何找到最新生成的测试报告是实现发邮件功能的关键...首先定义测试报告的目录result_dir,os.listdir()可以获取目录下的所有文件及文件夹。利用sort()方法对目录下的文件及文件夹按时间重新排序。...list[-1]取到的就是最新生成的文件或文件夹。程序运行结果如下: ? 三、总结 学习代码,一定要认真细致,一个细小的疏忽就会导致错误。...而且别人写的代码也不一定就对,要根据自己的实际情况,抱着肯吃苦肯钻研,热爱技术的心态,坚持去做,才会越来越进步。
#用户名 mail_pass="1223333" #口令 sender = '121212@qq.com' receivers = ['xi121@qq.com'] # 接收邮件,可设置为你的QQ...邮箱或者其他邮箱 message = MIMEText('Python 邮件发送测试...smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print "邮件发送成功..." except smtplib.SMTPException: print "Error: 无法发送邮件" 上面的代码是演示用QQ邮箱的smtp的来发送邮件。