Windows phone 7 wp7-推特照片上传

Windows phone 7 wp7-推特照片上传,windows-phone-7,Windows Phone 7,我们正试图通过WP7中的silverlight代码将图像上传到Twitter。我们可以发布信息,但不能发布图像 我们尝试了所有方法,包括下载他们的库,但没有得到提示 在下面的链接中, 有一点我们无法确定。 与POST STATUS/update不同,此方法需要原始多部分数据。POST请求的内容类型应设置为多部分/表单数据,并带有media[]参数 我不明白该怎么说 是否有人可以指导我或提供图片上传的示例?如果您的照片名为LoadedPhoto,您可以从中创建一个内存流 MemoryStream

我们正试图通过WP7中的silverlight代码将图像上传到Twitter。我们可以发布信息,但不能发布图像

我们尝试了所有方法,包括下载他们的库,但没有得到提示

在下面的链接中,

有一点我们无法确定。 与POST STATUS/update不同,此方法需要原始多部分数据。POST请求的内容类型应设置为多部分/表单数据,并带有media[]参数

我不明白该怎么说


是否有人可以指导我或提供图片上传的示例?

如果您的照片名为LoadedPhoto,您可以从中创建一个内存流

MemoryStream ms = new MemoryStream(); 
LoadedPhoto.SaveJpeg(ms, LoadedPhoto.PixelWidth, LoadedPhoto.PixelHeight, 0, 100); 
根据已获取的身份验证详细信息创建OAuthCredentials对象

var credentials = new OAuthCredentials
{
    Type = OAuthType.ProtectedResource,
    SignatureMethod = OAuthSignatureMethod.HmacSha1,
    ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
    ConsumerKey = Common.TwitterSettings.ConsumerKey,
    ConsumerSecret = Common.TwitterSettings.ConsumerKeySecret,
    Token = file.AccessToken,
    TokenSecret = file.AccessTokenSecret,
    Version = "1.0"
};
创建RestClient和RestRequest

var restClient = new RestClient
{
    Authority = "https://upload.twitter.com"
};

var restRequest = new RestRequest
{
    Credentials = credentials,
    Path = "/1/statuses/update_with_media.xml",
    Method = Hammock.Web.WebMethod.Post
};
restRequest.AddField("status", message);
restRequest.AddFile("media[]", "ScreenShot.png", ms, "image/jpeg");
将流位置设置为0

ms.Position = 0;
添加要重新请求的字段

var restClient = new RestClient
{
    Authority = "https://upload.twitter.com"
};

var restRequest = new RestRequest
{
    Credentials = credentials,
    Path = "/1/statuses/update_with_media.xml",
    Method = Hammock.Web.WebMethod.Post
};
restRequest.AddField("status", message);
restRequest.AddFile("media[]", "ScreenShot.png", ms, "image/jpeg");
然后开始请求

restClient.BeginRequest(restRequest, callback);
callback是请求的回调方法


例如,如果您感兴趣,请参阅此处了解更多详细信息。

如果您包含您正在使用的代码,您的示例对我不起作用:restRequest.AddFile不被接受MemoryStream这已在近半年前发布。与最新的RestClient版本或新SDK中可能存在一些差异。