如何使用图形api在facebook上传图像?

时间:2012-11-24 18:56:59

标签: c# asp.net facebook-graph-api facebook-c#-sdk

我想在用户个人资料上上传图片。我有一个Bitmap形式的图像。我正在使用此代码...

        Bitmap bit = new Bitmap("E:\\abc.jpg");
        MemoryStream ms = new MemoryStream();

        bit.Save(ms, ImageFormat.Jpeg);

        byte[] buffer = ms.ToArray();


        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://graph.facebook.com/me/photos?access_token=" + acc_token);

        req.Method = "POST";
        req.ContentLength = buffer.Length;
        //req.ContentType = "application/x-www-form-urlencoded";
        req.ContentType = "image/jpeg";                       

        Stream rq_strm = req.GetRequestStream();
        rq_strm.Write(buffer, 0, buffer.Length);
        rq_strm.Close();

        HttpWebResponse res = (HttpWebResponse)req.GetResponse();     //got error here
        Response.Write("RESPONSE: " + res.StatusDescription);

我收到了错误The remote server returned an error: (400) Bad Request.我哪里错了?

1 个答案:

答案 0 :(得分:0)

基本上,这意味着服务器无法识别您的请求。通常对于API,这意味着API无法破译某些内容,或者它缺少重要功能。在这种情况下,它确定您没有包含source标记。通常,这是通过带有<input type='file'>标记的HTML表单发送的。模仿这种方法的方式相当复杂,但this question会指出正确的方向。