最近在做亚马逊的接口对接
亚马逊上传数据有个参数request.FeedContent,这个需要Stream
但是用FileStream读取得到的流直接赋值给Stream报错
代码如下
[MarketplaceWebServiceStream(StreamType = StreamType.REQUEST_STREAM)]
public Stream FeedContent
{
get { return this.feedContentField ; }
set { this.feedContentField= value; }
}
它里面的stream刚好是System.IO.Stream
为什么会这样呢?FileStream是Stream的子类之一,你确认下你的问题,是否FeedContent的Stream不是.net的标准Stream?
[MarketplaceWebServiceStream(StreamType = StreamType.REQUEST_STREAM)]
public Stream FeedContent
{
get { return this.feedContentField ; }
set { this.feedContentField= value; }
}
它里面的stream刚好是System.IO.Stream
@寒空孤鹰:
System.IO.FileStream fs = null; System.IO.Stream s = fs;
这段代码是能编译通过的,FileStream直接派生自Stream
FileStream不能直接赋值给Stream。1、将FileStream流转成Byte[];2、把Byte[]专成Stream。
不要纠结向上转换出错的问题上,你认真想想是不是属性FeedContent的特性[MarketplaceWebServiceStream(StreamType = StreamType.REQUEST_STREAM)],对赋值有要求。