Как загрузить несколько фотографий на сервер ВК ? #1563
Answered
by
Panuchi
justcoolgeo
asked this question in
Q&A
Replies: 3 comments
-
Не проверял код, но отправка нескольких фото в диалог, происходит похожим образом //массив с файлами на загрузку
string[] files = new string[] { };
// Получить адрес сервера для загрузки.
var uploadServer = BotApi.Photo.GetMarketUploadServer(123, true, 5, 5, 200);
var wc = new WebClient();
// Загрузить основную фотографию.
var responseImg = Encoding.ASCII.GetString(wc.UploadFile(uploadServer.UploadUrl, @"test.jpg"));
// Сохранить загруженную фотографию
var mainPhotoId = BotApi.Photo.SaveMarketPhoto(123, responseImg).FirstOrDefault().Id.Value;
List<long> photosIds = new List<long>();
//Загружаем остальные фотографии
foreach (var file in files)
{
var name = Path.GetFileName(file);
responseImg = Encoding.ASCII.GetString(wc.UploadFile(uploadServer.UploadUrl, name));
var photo = BotApi.Photo.SaveMarketPhoto(123, responseImg).FirstOrDefault();
if(photo?.Id != null)
{
photosIds.Add(photo.Id.Value);
}
}
BotApi.Markets.Add(new MarketProductParams
{
OwnerId = -123,
CategoryId = 200,
MainPhotoId = mainPhotoId,
PhotoIds= photosIds,
Deleted = false,
Name = "Телефон",
Description = "Описание товара",
Price = 10000
}); |
Beta Was this translation helpful? Give feedback.
0 replies
-
@justcoolgeo помогло? |
Beta Was this translation helpful? Give feedback.
0 replies
-
//массив с файлами на загрузку
string[] files = { @"aaa.jpg", @"bbb.jpg", @"ccc.jpg" };
// Получить адрес сервера для загрузки.
var uploadServer = api.Photo.GetMarketUploadServer(123, true, 5, 5, 400);
var wc = new WebClient();
// Загрузить основную фотографию.
var responseImg = Encoding.ASCII.GetString(wc.UploadFile(uploadServer.UploadUrl, @"aaa.jpg"));
// Сохранить загруженную фотографию
var mainPhotoId = api.Photo.SaveMarketPhoto(123, responseImg).FirstOrDefault().Id.Value;
List<long> photosIds = new List<long>();
//Загружаем остальные фотографии
foreach (var file in files)
{
responseImg = Encoding.ASCII.GetString(wc.UploadFile(uploadServer.UploadUrl, file));
var photo = api.Photo.SaveMarketPhoto(123, responseImg).FirstOrDefault();
if(photo?.Id != null)
{
photosIds.Add(photo.Id.Value);
}
}
api.Markets.Add(new MarketProductParams
{
OwnerId = -123,
CategoryId = 200,
MainPhotoId = mainPhotoId,
PhotoIds= photosIds,
Deleted = false,
Name = "Телефон",
Description = "Описание товара",
Price = 10000
}); |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
Panuchi
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Вот пример. Это работает, одну фотографию я загружаю.
Но вот как загрузить несколько - я не знаю :(
Заранее благодарю!
Beta Was this translation helpful? Give feedback.
All reactions