當前位置:首頁 » 文件傳輸 » 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;")。