当前位置:首页 » 文件传输 » jspost请求上传附件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

jspost请求上传附件

发布时间: 2022-08-03 02:10:18

‘壹’ 怎样利用JS提交POST请求

post请求是不限域的,除非你在服务端做限制看我post到bd所以,只要post能提交的数据量,往哪提交是不限制的,主要是看接受的服务器是否能够处理。

‘贰’ js如何上传文件

js采用File API 来上传文件的。


File API 由一组 JavaScript 对象以及事件构成。赋予开发人员操作在 <input type=”file” … /> 文件选择控件中选定文件的能力。图 1 展示了 File API 所有的 JavaScript 的组合关系。


File API 简单示例

<body>
<h1>File API Demo</h1>
<p>
<!-- 用于文件上传的表单元素 -->
<form name="demoForm" id="demoForm" method="post" enctype="multipart/form-data"
action="javascript: uploadAndSubmit();">
<p>Upload File: <input type="file" name="file" /></p>
<p><input type="submit" value="Submit" /></p>
</form>
<div>Progessing (in Bytes): <span id="bytesRead">
</span> / <span id="bytesTotal"></span>
</div>
</p>
</body>
运行效果:

‘叁’ 如何使用js向指定一个网站发送一个带参数的post请求

/*
* 1 创建XMLHttpRequest对象 */
var xhr = ajaxFunction();
/*
* 2 服务器向浏览器响应请求
*
* readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕

常用状态码及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 ) */
xhr.onreadystatechange = function(){
alert(xhr.readyState); //alert(xhr.status);
if(xhr.readyState==4){ if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;
alert(data);
}
}
}
/*
* 3 浏览器与服务器建立连接
*
* xhr.open(method, url, asynch);
* * 与服务器建立连接使用
* * method:请求类型,类似 “GET”或”POST”的字符串。
* * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径
* * asynch:表示请求是否要异步传输,默认值为true(异步)。 */
xhr.open("POST","../testServlet?timeStamp="+new Date().getTime()+"&c=18",true);
//如果是POST请求方式,设置请求首部信息
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

/*
* 4 浏览器向服务器发送请求
*
* send()方法:
* * 如果浏览器请求的类型为GET类型时,通过send()方法发送请求数据,服务器接收不到
* * 如果浏览器请求的类型为POST类型时,通过send()方法发送请求数据,服务器可以接收 */
xhr.send("a=6&b=9"); //xhr.send(null);

‘肆’ 如何用nodejs通过post发送multipart/form-data类型的http请求

/发送单条消息给接口方app.post("/sendMsgToAByPost",function(req, res, next) {
//我的帖子:http://cnodejs.org/topic/4ffed8544764b729026b1da3
//http://yefeng.iteye.com/blog/315847
//http://stackoverflow.com/questions/5744990/how-to-upload-a-file-from-node-js
//http://stackoverflow.com/questions/9943010/node-js-post-file-to-server

console.log(req.files);
console.log(req.files.media.size);
var boundaryKey = Math.random().toString(16); //随机数,目的是防止上传文件中出现分隔符导致服务器无法正确识别文件起始位置
console.log(boundaryKey);

var options = {
host: 'api.com',
port: 443,
path: '/media?type=image&access_token='+accessToken,
method: 'POST'
};

var reqHttps = https.request(options, function(resHttps) {
console.log("statusCode: ", resHttps.statusCode);
console.log("headers: ", resHttps.headers);

resHttps.on('data', function(body1) {
console.log("body:"+body1);
});
});
var payload = '--' + boundaryKey + '\r\n'
// use your file's mime type here, if known
+ 'Content-Type: image/jpeg\r\n'
// "name" is the name of the form field
// "filename" is the name of the original file
+ 'Content-Disposition: form-data; name="media"; filename="aaa.jpg"\r\n'
+ 'Content-Transfer-Encoding: binary\r\n\r\n';
console.log(payload.length);
var enddata = '\r\n--' + boundaryKey + '--';
console.log('enddata:'+enddata.length);
reqHttps.setHeader('Content-Type', 'multipart/form-data; boundary='+boundaryKey+'');
reqHttps.setHeader('Content-Length', Buffer.byteLength(payload)+Buffer.byteLength(enddata)+req.files.media.size);

reqHttps.write(payload);

var fileStream = fs.createReadStream("D:\\aaa.jpg", { bufferSize: 4 * 1024 });
fileStream.pipe(reqHttps, {end: false});
fileStream.on('end', function() {
// mark the end of the one and only part
reqHttps.end(enddata);

});

reqHttps.on('error', function(e) {
console.error("error:"+e);
});

});

‘伍’ 怎么用一次POST请发送多个文件

传统的做法,我们可以在form表单中插入多个input【type=file,这样用户点击提交 表单 action直接传给服务器,服务端可以拿到file的数组,里面就是用户上传的文件集。

随着浏览器的发展和前端框架的出现,未来的代码将是前后端完全分离的时代,这样,我们的表单将不会再直接通过action和服务器交互,而是需要在js代码中实现文件上传。下面介绍两种多文件上传。
第一种:把从前端页面获取的文件存储在一个数组里,当用户需要提交文件的时候,我们就去便利数组,一个一个上传文件,这样做用户的体验是多文件上传,但是实质是文件一个一个上传的,不足之处是每次上传都是一次POST请求。
第二种:使用formdata上传文件,formdata可以允许我们在js代码里面封装form表单数据,然后我们就可在js中模拟表单提交的过程,从而实现一次POST上传多个文件。

上图中:new FormData() 为实例化一个formdata对象,oMyForm.append("XXX", XXX) 为向该表单对象中添加数据。uploader.queue为文件数组。
6
上传的结果打印出来如图所示,这样我们就实现了一次POST上传多个文件。

‘陆’ js怎么用post的方式传参到其它页面

有一个方法就是使用js创建一个form表单,将他的请求方法改成post的,然后将action改成要请求的路径,接下来将要提交的内容设置到对应的表单中,最后调用这个form的submit方法

‘柒’ js post怎样提交文件

js方式上传文件可以使用插件,像Uploadify或AjaxUpload这些;
或者你自己利用表单提交和iframe对象写一个。
至于jquery的post是不能实现上传文件的呵。

‘捌’ 怎么用javascript发送post请求

var xml = XMLHttpRequest(); xml.open('POST', '/to_target_url/', true); xml.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xml.send('username=abc&password=123'); 然后请求就发出去了,当然还要接着,具体看文档,如下链接,官方文档

‘玖’ 前端anularjs用post上传文件到后端,怎么写

前段发送数据到后端有两种方式post和get方式:
$.ajax({
type:"post",
url:"api.php",
dataType:"json",
success:function(data){

}
});
$.ajax({
type:"get",
url:"api.php",
dataType:"json",
success:function(data){

}
});

这两种都是页面js操作的,也可以直接写下边这种:
window.location.href="api.php?name=aaa&sex=1";

‘拾’ js 模拟POST提交enctype="multipart/form-data"类型的表单

只是需要文件上传才用它的

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");

改成

xmlHttp.setRequestHeader("Content-Type","multipart/form-data;")。