我遇到了使用v1.0 Microsoft Graph API将文件上传到上传会话的问题。 我的步骤:如何为上传会话设置Content-Range标题Microsoft Graph API
- 获取访问令牌:成功
- 选择文件/新建上传会话:成功(我回来了的uploadURL上传字节)
- 上传字节数的uploadURL:失败与下面的错误。
这里是我收到的错误:
{
"error":
{
"code":"invalidRequest",
"message":"The Content-Range header is missing or malformed."
}
}
我曾尝试使用以下格式试过,我仍然收到了同样的错误。
"bytes 0-100/100"
"0-100/100"
"0-100"
我这篇文章从的Mircosoft https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_createuploadsession
以下这里是我的功能上传到的uploadURL从创建上载会话
public uploadToSession(file: HTMLInputElement, session: any, fileData: any) {
var headers = new Headers();
headers.append('Content-Length', fileData.length); //(ie: "100")
headers.append('Content-Range', fileData.range); //(ie: "bytes 0-100/100")
this.http.put(session.uploadUrl, { headers })
.subscribe(
(res: Response) => console.log(res),
error => console.log(error)
);
}
任何帮助深表感谢retreived!提前致谢。
这个API背后的想法是,你正在发送块吗?所以它的工作原理是总文件大小要大于一个块,即“字节0-50/100”,后面跟着“字节50-100/100”。 – Fenton
这是正确的API旨在允许夹头发送,但是,从我的理解,你也可以发送整个文件,只要大小小于60 MiB。你有没有看过文件说明你不能一次发送整个文件?我试图避免使用两种不同的上传方法,具体取决于大小,但如果这是唯一的方法,那就这样做吧。 –
不 - 我找不到任何东西,但是您的代码看起来不错,所以我正在创新可能发生的潜在问题 – Fenton