官方文档
链接: Callback handler.
.NET Core 2.1 代码示例
文档编辑服务发送到“callbackUrl”地址的是JSON对象,因此需要先对JSON进行处理。
public void Save(string path, string title)
{
string inputBody;
using (var reader = new StreamReader(
Request.Body, Encoding.UTF8))
{
inputBody = reader.ReadToEnd();
}
var fileData = JsonConvert.DeserializeObject<JObject>(inputBody);
//*0 - 找不到带有密钥标识符的文档,
//*1 - 正在编辑文档,
//*2 - 文件已准备好保存,
//*3 - 发生了文档保存错误,
//*4 - 文件关闭,没有变化,
//*6 - 正在编辑文档,但保存当前文档状态,
//*7 - 强制保存文档时发生错误。
if ((int)fileData["status"] == 2)
{
var req = WebRequest.Create((string)fileData["url"]);
//保存文件
using (var stream = req.GetResponse().GetResponseStream())
using (var fs = System.IO.File.Open(PATH_FOR_SAVE, FileMode.Create))
{
var buffer = new byte[4096];
int readed;
while ((readed = stream.Read(buffer, 0, 4096)) != 0)
fs.Write(buffer, 0, readed);
}
Response.WriteAsync("{\"error\":0}");
}
PATH_FOR_SAVE是计算机文件夹的绝对路径,其中将保存文件,包括文件名。