Windows だけで社内(または自分用)Gyazo 環境を構築する
巷ではExcelスクリーンショットエビデンスの話で盛り上がってますね。*1 スクリーンショットと言えばGyazoということで、少し前に調べたことをまとめてみました。*2
サーバー側
最初upload.cgiで環境作って動作確認までしたけど、 簡単そうだからASP.NET版作ろうかなと思って、まずググったら高機能なのがあったので使わせていただきました。感謝。
クライアント側
- k725/GyazoPlus · GitHub (公式クライアントのアップロード先を設定ファイル化したもの)
- synchrone/SendToGyazo · GitHub(クリップボード画像をGyazoるもの)
公式
アップロード処理をC#で実装する
C#でパラメーターのファイルパスの画像をアップロードするメソッドのサンプル(.NET 4.5)です。雑ですが一応動きます。
public async Task<string> UploadImageAsync(string imageFilePath) { var gyazoUploadUrl = "http://your-gyazo-site-api"; using (var client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true })) using (var memoryStream = new MemoryStream()) using (var content = new MultipartFormDataContent()) { var fileContent = new StreamContent(File.OpenRead(imageFilePath)); fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); content.Add(fileContent, "imagedata", "data.jpg"); client.DefaultRequestHeaders.Add("User-Agent", "GyazoUploadSample/1.0"); HttpResponseMessage response = await client.PostAsync(gyazoUploadUrl, content); if (response.IsSuccessStatusCode) return await response.Content.ReadAsStringAsync(); } return ""; }
*1:もう終息気味?