POST 请求失败,没有错误消息 (Parse.com / ExpressJS)
POST request fails with no error message (Parse.com / ExpressJS)
我遇到了一个问题,即我发出的 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与大量的milisecs一起使用。 也许您的响应只是超时,并且根据我的经验,节点在发生时不会抛出错误。
相关文章:
- parse.com类中指针中的查询指针
- 从Parse.com返回的格式化日期
- 使用Parse.com查询制作新闻源
- 如何使用Parse.com JavaScript SDK上传图像
- 在underscore.js中显示列表中的所有项目(使用Parse.com)
- Parse.com在循环中保存对象,只保存最后一个对象
- 在 parse.com 中保存对象后计划后台作业
- 对 Parse.com 结果使用 ng 重复
- 将 Stripe.com 和 Parse.com 与 iOS 集成 - 无法向客户添加订阅
- Roles - Parse.com Javascript
- Parse.com 检索嵌套对象的值
- parse.com 如何将查询限制与每个查询一起使用
- 如何在Parse.com中设置路线?Parse.Runer的替代方案
- 如何使用 angularjs 以表格格式显示 parse.com 的查询结果
- 关于Parse.com客户端共享应用程序;api密钥
- 是否有使用Javascript的Parse.com下拉选项
- Parse.com OR query
- 如何在Parse.com SDK中循环创建多个对象
- 连接到解析到 herokuapp.com/parse 服务器
- Parse.com - Parse.Object.extend(...) attributes