nsIUploadChannel 编辑

netwerk/base/public/nsIUploadChannel.idlScriptable A channel may optionally implement this interface if it supports the notion of uploading a data stream. The upload stream may only be set prior to the invocation of asyncOpen on the channel. Inherits from: nsISupports Last changed in Gecko 1.7

Method overview

void setUploadStream(in nsIInputStream aStream, in ACString aContentType, in long aContentLength);

Attributes

AttributeTypeDescription
uploadStreamnsIInputStreamGet the stream (to be) uploaded by this channel. Read only.

Methods

setUploadStream()

Sets a stream to be uploaded by this channel.

Most implementations of this interface require that the stream:

  1. implement threadsafe addRef and release
  2. implement nsIInputStream.readSegments()
  3. implement nsISeekableStream.seek().

History here is that we need to support both streams that already have headers (for example, Content-Type and Content-Length) information prepended to the stream (by plugins) as well as clients (composer, uploading application) that want to upload data streams without any knowledge of protocol specifications. For this reason, we have a special meaning for the aContentType parameter.

void setUploadStream(
  in nsIInputStream aStream,
  in ACString aContentType,
  in long aContentLength
);
Parameters
aStream
The stream to be uploaded by this channel.
aContentType
If aContentType is empty, the protocol will assume that no content headers are to be added to the uploaded stream and that any required headers are already encoded in the stream. In the case of HTTP, if this parameter is non-empty, then its value will replace any existing Content-Type header on the HTTP request. In the case of FTP and FILE, this parameter is ignored.
aContentLength
A value of -1 indicates that the length of the stream should be determined by calling the stream's available method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:95 次

字数:3433

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文