gpt4 book ai didi

javascript - POST 请求失败,没有错误消息 (Parse.com/ExpressJS)

转载 作者:行者123 更新时间:2023-12-03 11:15:42 25 4
gpt4 key购买 nike

我遇到一个问题,我发出的 POST 请求失败,错误代码为 500,并且服务器端错误日志中没有打印任何内容。就好像云方法不存在一样。

但奇怪的是,相同的 POST 请求对于较小的文件执行得很好。当文件达到 1.4 MB 左右时,它开始失败。我尝试过更改 express.bodyParser 的 limit 参数,例如“app.use(express.bodyParser( { limit: 10000000 } ));”,但这没有什么区别。

这是一些代码:

function uploadFile(pageState)
{
var reader = new FileReader();
reader.onload = function()
{
var data = reader.result;

var byteArrayObj = new Uint8Array(data);
var byteArray = new Array(byteArrayObj.length);
for(i=0; i<byteArray.length; i++) {
byteArray[i] = byteArrayObj[i];
}

var json = { data: byteArray };
var jsonString = JSON.stringify(json);

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "/assetUploader/"+pageState.assetIdentifier+"/"+pageState.fileName+"/"+pageState.isAssetBundle+"/"+pageState.uploadToProduction, true);
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

xmlhttp.onload = function(evt) {
...
};

xmlhttp.send(jsonString);
};
reader.readAsArrayBuffer( pageState.fileRef );
}

在云端:

app.post('/assetUploader/:fileIdentifier/:fileName/:isAssetBundle/:useProd', function(req, res)
{
console.log("assetUpload Post");
var fileId = req.params.fileIdentifier;
var fileName = req.params.fileName;
var assetBundle = req.params.isAssetBundle == "true";
var bytes = req.body.data;
var useProd = req.params.useProd == "true";

createParseFile(fileName, bytes, useProd).then( function(response) {
return currentVersionForAsset(fileId, useProd).then(function(versionNumber) {
return {
"fileIdentifier": fileId,
"file": {
"name": response.data.name,
"__type": "File"
},
"isAssetBundle": assetBundle,
"fileVersion": versionNumber+1
};
});
}).then(function(json) {
return createParseObject("DownloadableAsset", json, useProd);
}).then( function() {
res.send(200);
}, function(error) {
res.send(400, error.message);
});
});

任何帮助或建议将不胜感激。感谢您的宝贵时间!

最佳答案

我建议使用 res.setTimeout 和大量的毫秒数。也许您的响应只是超时,并且根据我的经验, Node 在发生这种情况时不会抛出错误。

关于javascript - POST 请求失败,没有错误消息 (Parse.com/ExpressJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27356061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com