きな粉もち.net

.NET関連仕事に携わっています。OSSのソースを読んで気がついたことを中心に呟いたりブログに投稿したりしています。最近はUiPathを使ったRPAも研究中。気軽にフォローやツッコミよろしくおねがいします! Gitはここを使っています https://github.com/kinakomotitti

C# × System.Convert.ToBase64String × 指定したファイルをBase64でエンコードしてクリップボードに格納する

この記事の目的

この記事では、
指定したファイルをBase64エンコードしてクリップボードに格納するコードのメモ
を目的としています。
以前投稿したクリップボードにコピーする記事の続きです。
kinakomotitti.hatenablog.com


本題

★背景

WEB APIの動作確認を行う時に、Base64に変換した文字列が必要になりました。
ちょいちょいとしか使わないため、C# Interactiveを使って実行しています。
今後も必要になりそうな雰囲気もあるため、とりあえずアウトプットしておきます。

★コード

指定したファイルをクリップボードにコピーするところまで実行するコードです。

#r "System.Windows.Presentation"
public class ToBase64String
{
    public static void Main(string args)
    {
        if (System.IO.File.Exists(args) != true) return;
        var base64String = System.Convert.ToBase64String(System.IO.File.ReadAllBytes(args));
        System.Windows.Clipboard.SetText(base64String);
    }
}

C# interactiveで実装したコードをそのまま載せています

仕様は、変換対象のファイルの絶対パスを引数で指定します。
指定したファイルが存在しない場合、何も起こりません。
ファイルが存在する場合、ファイルを読み込み、Base64に変換します。
Base64に変換された文字列はクリップボードにコピーされます。

これで、あとはCtrl +VするだけでBase64にした文字列を受け取ることができます!

★使い方

上記コードをC#Interactiveに貼り付け、実行した後、以下のようにMainメソッドを呼び出します。
f:id:kinakomotitti:20180717224750p:plain


まとめ

コンソールアプリにするまでもなくちょいちょいっと済ませたいとき、C# Interactiveはとても便利(/・ω・)/
今後使うことがあればよいな・・・