Добрый день. Пишу программу на c#, на которой планируется загружать информацию о товарах в ВКОНТАКТЕ. Реализовано это через API Вконтакте.
В общем добрался до момента с загрузкой фотографии для товара, где у меня возникла проблема. Приведу описание реализации с сайта API Вконтакте:
"Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем file. Это поле должно содержать изображение в формате multipart/form-data."
Проблема в том, что я не могу понять, в меру своей неопытности, куда прописывать поле
file. Буду очень благодарен, кто подскажет решение. Спасибо
P.S. При отправке запроса с любым содержимым поля
postedData сервер возвращает ответ в виде
"{"error":"ERR_UPLOAD_BAD_IMAGE_SIZE: market photo min size 400x400","bwact":"do_add","server":234031,"_sig":"9d38b3a8d7071e818f1ae2b4033ddcc8"}".
В общем, тут проблема точно в отсутствии поля
file в POST запросе
Код POST запроса:
public static HttpWebResponse PostMethodForUpload(string postedData, string postUrl)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
request.Method = "POST";
request.Credentials = CredentialCache.DefaultCredentials;
UTF8Encoding encoding = new UTF8Encoding();
var bytes = encoding.GetBytes(postedData);
request.ContentType = "multipart/form-data";
request.ContentLength = bytes.Length;
using (var newStream = request.GetRequestStream())
{
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
}
return (HttpWebResponse)request.GetResponse();
}