let data = fs.createReadStream(__dirname + '/test.jpg')
axios.post(url,{media:data,type:"image"})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
})
let data = fs.createReadStream(__dirname + '/test.jpg')
let form = {
type:"image",
media:data
}
request.post({url:url,formData:form},(err,res,body)=>{
if(err) console.log(err)
console.log(body)
})
import Koa from 'koa'
const app = new Koa()
app.use(ctx=>{
console.log("===============================================")
console.log(ctx.request)
console.log("===============================================")
ctx.body = {foo:"bar"}
})
app.listen(3000,()=>{
console.log("listening on 3000 port")
})
listening on 3000 port
===============================================
{ method: 'POST',
url: '/',
header:
{ accept: 'application/json, text/plain, */*',
'content-type': 'application/json;charset=utf-8',
'user-agent': 'axios/0.14.0',
'content-length': '587',
host: '127.0.0.1:3000',
connection: 'close' } }
===============================================
===============================================
{ method: 'POST',
url: '/',
header:
{ host: '127.0.0.1:3000',
'content-type': 'multipart/form-data; boundary=--------------------------949095406788084443059291',
'content-length': '186610',
connection: 'close' } }
===============================================
let data = fs.createReadStream(__dirname + '/test.jpg')
let header = {
'content-type': 'multipart/form-data'
}
axios.post(url,{media:data,type:"image"},{headers:header})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
})
===============================
{ method: 'POST',
url: '/',
header:
{ accept: 'application/json, text/plain, */*',
'content-type': 'multipart/form-data',
'user-agent': 'axios/0.14.0',
'content-length': '587',
host: '127.0.0.1:3000',
connection: 'close' } }
================================
if (options.formData) {
var formData = options.formData
var requestForm = self.form()
var appendFormValue = function (key, value) {
if (value && value.hasOwnProperty('value') && value.hasOwnProperty('options')) {
requestForm.append(key, value.value, value.options)
} else {
requestForm.append(key, value)
}
}
for (var formKey in formData) {
if (formData.hasOwnProperty(formKey)) {
var formValue = formData[formKey]
if (formValue instanceof Array) {
for (var j = 0; j < formValue.length; j++) {
appendFormValue(formKey, formValue[j])
}
} else {
appendFormValue(formKey, formValue)
}
}
}
}
Request.prototype.form = function (form) {
var self = this
if (form) {
if (!/^application\/x-www-form-urlencoded\b/.test(self.getHeader('content-type'))) {
self.setHeader('content-type', 'application/x-www-form-urlencoded')
}
self.body = (typeof form === 'string')
? self._qs.rfc3986(form.toString('utf8'))
: self._qs.stringify(form).toString('utf8')
return self
}
// create form-data object
self._form = new FormData()
self._form.on('error', function(err) {
err.message = 'form-data: ' + err.message
self.emit('error', err)
self.abort()
})
return self._form
}
let data = fs.createReadStream(__dirname + '/test.jpg')
let form = new FormData()
form.append('type','image')
form.append('media',data,'test.jpg')
axios.post(url,form).then((response)=>{
console.log(response.data)
})
.catch(e=>{console.log(e)})
===============================================
{ method: 'POST',
url: '/',
header:
{ accept: 'application/json, text/plain, */*',
'content-type': 'application/x-www-form-urlencoded',
'user-agent': 'axios/0.14.0',
host: '127.0.0.1:3000',
connection: 'close',
'transfer-encoding': 'chunked' } }
===============================================
let header = {
'content-type': 'multipart/form-data'
}
axios.post(url,form,{headers:header}).then((response)=>{
console.log(response.data)
})
let data = fs.createReadStream(__dirname + '/test.jpg')
let form = new FormData()
form.append('type','image')
form.append('media',data,'test.jpg')
axios.post(url,form,{headers:form.getHeaders()}).then((response)=>{
console.log(response.data)
})
.catch(e=>{console.log(e)})
===============================================
{ method: 'POST',
url: '/',
header:
{ accept: 'application/json, text/plain, */*',
'content-type': 'multipart/form-data; boundary=--------------------------171407872885673042671614',
'user-agent': 'axios/0.14.0',
host: '127.0.0.1:3000',
connection: 'close',
'transfer-encoding': 'chunked' } }
===============================================
function setContentLength () {
if (isTypedArray(self.body)) {
self.body = new Buffer(self.body)
}
if (!self.hasHeader('content-length')) {
var length
if (typeof self.body === 'string') {
length = Buffer.byteLength(self.body)
}
else if (Array.isArray(self.body)) {
length = self.body.reduce(function (a, b) {return a + b.length}, 0)
}
else {
length = self.body.length
}
if (length) {
self.setHeader('content-length', length)
} else {
self.emit('error', new Error('Argument error, options.body.'))
}
}
}
if (data && !utils.isStream(data)) {
if (utils.isArrayBuffer(data)) {
data = new Buffer(new Uint8Array(data));
} else if (utils.isString(data)) {
data = new Buffer(data, 'utf-8');
} else {
return reject(createError(
'Data after transformation must be a string, an ArrayBuffer, or a Stream',
config
));
}
// Add Content-Length header if data exists
headers['Content-Length'] = data.length;
}
FormData.prototype.getLength = function(cb) {
var knownLength = this._overheadLength + this._valueLength;
if (this._streams.length) {
knownLength += this._lastBoundary().length;
}
if (!this._valuesToMeasure.length) {
process.nextTick(cb.bind(this, null, knownLength));
return;
}
asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
if (err) {
cb(err);
return;
}
values.forEach(function(length) {
knownLength += length;
});
cb(null, knownLength);
});
};
let data = fs.createReadStream(__dirname + '/test.jpg')
let form = new FormData()
form.append('type','image')
form.append('media',data,'test.jpg')
form.getLength((err,length)=>{
if(err) console.log(err)
let headers = Object.assign({'Content-Length':length},form.getHeaders())
axios.post(url,form,{headers:headers}).then((response)=>{
console.log(response.data)
})
.catch(e=>{console.log(e)})
})
===============================================
{ method: 'POST',
url: '/',
header:
{ accept: 'application/json, text/plain, */*',
'content-type': 'multipart/form-data; boundary=--------------------------424584867554529984619649',
'content-length': '186610',
'user-agent': 'axios/0.14.0',
host: '127.0.0.1:3000',
connection: 'close' } }
===============================================
let data = fs.createReadStream(__dirname + '/test.jpg')
let form = new FormData()
form.append('type','image')
form.append('media',data,'test.jpg')
let getHeaders = (form=>{
return new Promise((resolve,reject)=>{
form.getLength((err,length)=>{
if(err) reject(err)
let headers = Object.assign({'Content-Length':length},form.getHeaders())
resolve(headers)
})
})
})
getHeaders(form)
.then(headers=>{
return axios.post(url,form,{headers:headers})
})
.then((response)=>{
console.log(response.data)
})
.catch(e=>{console.log(e)})
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有