我们正在使用IISNODE托管使用“hapi”编写的节点应用程序“^16.5.2”,路径粘贴在下面
{
method: 'POST',
path: '/xxxx/xxxx/xxxx/Upload/',
config: {
auth: { strategies: ['simple'] },
handler: uploadHandler.Upload,
plugins: {
'hapi-swagger': {
responses: fileHTTPStatus,
payloadType: 'form'
},
disinfect: {
disinfectQuery: false,
disinfectParams: false,
disinfectPayload: false
},
policies: ['MethodAudit']
},
tags: ['api'],
validate: {
payload: {
file: Joi.any().meta({ swaggerType: 'file' }).required().description('file')
}
},
payload: {
maxBytes: 209715200,
parse: true,
allow: 'multipart/form-data',
output: 'stream'
},
cors: {
origin: ['*'],
additionalHeaders: ['cache-control', 'x-requested-with', 'accept', 'authorization', 'content-type', 'if-none-match', 'origin', 'Accept-language']
}
}
}
uploadHandler.Upload方法如下:
function Upload (request, reply) {
if (request.payload) {
var data = request.payload;
if (data.file) {
var originalName = data.file.hapi.filename;
var path = rootDocPath + originalName; //rootDocPath is our common location
var file = fs.createWriteStream(path);
file.on('error', function (err) {
console.error(err)
});
data.file.pipe(file);
file.on('end', function() {
console.log('file ended');
});
file.on('finish', function() {
console.log('file finished');
});
data.file.on('end', function(err) {
console.log('data.file ended');
});
file.on('close', function(err) {
reply('Uploaded');
});
} else {
reply('no file')
}
} else {
reply('no payload')
}
}
IIS 8.5详细错误-500.1013-内部服务器错误
-
在调试时,我们可以看到正在执行应答(“上载”),但调用方从未收到应答。
-
MB),对于较小的文件,它可以100%工作