From a8aa3173bdbcc78dfbd2429bc1405edd17bf454c Mon Sep 17 00:00:00 2001 From: keita Date: Thu, 11 Mar 2021 14:32:25 +0900 Subject: [PATCH] =?UTF-8?q?mime-type=E3=82=92=E6=A4=9C=E5=87=BA=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=A6=E3=81=BF?= =?UTF-8?q?=E3=81=9F(#56)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cocoatweet/api/media/upload.cc | 8 +++++++- src/cocoatweet/api/media/upload.h | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cocoatweet/api/media/upload.cc b/src/cocoatweet/api/media/upload.cc index 5a8694c..1410419 100644 --- a/src/cocoatweet/api/media/upload.cc +++ b/src/cocoatweet/api/media/upload.cc @@ -4,6 +4,11 @@ #include namespace CocoaTweet::API::Medias { +const std::map Upload::mimeType = {{".jpg", "image/jpeg"}, + {".jpeg", "image/jpeg"}, + {".png", "image/png"}, + {".gif", "image/gif"}, + {".mp4", "video/mp4"}}; Upload::Upload() { url_ = "https://upload.twitter.com/1.1/media/upload.json"; } @@ -29,7 +34,8 @@ CocoaTweet::API::Model::MediaStore Upload::process( { contentType_ = "application/x-www-form-urlencoded"; bodyParam_.insert_or_assign("command", "INIT"); - bodyParam_.insert_or_assign("media_type", "image/jpeg"); + bodyParam_.insert_or_assign( + "media_type", mimeType.at(std::filesystem::path(media_).extension().string())); HttpPost::process(_oauth, [&media](const unsigned int _responseCode, const std::string& _rsv) { diff --git a/src/cocoatweet/api/media/upload.h b/src/cocoatweet/api/media/upload.h index 770b1b2..1d28f9c 100644 --- a/src/cocoatweet/api/media/upload.h +++ b/src/cocoatweet/api/media/upload.h @@ -4,11 +4,14 @@ #include #include #include +#include namespace CocoaTweet::API::Medias { class Upload : public CocoaTweet::API::Interface::HttpPost { private: std::string media_; + static const std::map mimeType; + ; public: Upload();