在Electron中注册自定义协议以接受邮寄请求



是否可以在Electron中注册自定义协议,例如md-file://upload,当视图中的组件将发送POSTrequest时,我将能够处理它,获取request.body对象,处理它,并返回HTTP响应对象?

例如,我注册我的自定义协议如下:

protocol.registerStringProtocol("md-file", function (request, callback){
console.log("md-file", request);
callback({
data: '1231231'
});
})

它可以工作,但我在request对象中没有看到任何bodyForm Data,而且我在文档中找不到我应该得到这些对象,我做错了什么,或者是错误。

从Electron的一位开发人员那里获得答案:https://github.com/electron/electron/issues/17531#issuecomment-700952791

这是XMLHttpRequest的一个基本限制:它只向Http/Https发送上传主体。(有关ProtocolIsInHTTPFamily的定义,请参阅此处。(

如果您将协议注册为支持fetch,那么fetch((就不会有这个问题。我修改了您的示例,以展示如何:https://gist.github.com/e8f8f2322c5452d941a4fcc05f063942

最新更新