バイナリデータとは、それをサーバーに送信する方法は?

バイナリデータをファイルとして保存したものをバイナリファイルと呼びます。サーバーへバイナリデータを送信することは、データサイズの削減、処理速度の向上、様々なデータ表現の実現などのメリットがあります。本文では、バイナリデータの基本情報を解説した上、使いやすいツールを使ってバイナリデータを簡単にサーバーに送信する方法を皆さんに紹介します。

中村 拓也

中村 拓也

12 5月 2025

バイナリデータとは、それをサーバーに送信する方法は?

バイナリデータをファイルとして保存したものをバイナリファイルと呼びます。サーバーへバイナリデータを送信することは、データサイズの削減、処理速度の向上、様々なデータ表現の実現などのメリットがあります。本文では、バイナリデータの基本情報を解説した上、使いやすいツールを使ってバイナリデータを簡単にサーバーに送信する方法を皆さんに紹介します。

バイナリデータとは

バイナリデータとは、二進数のデータを意味して、コンピュータが内部的に使用する2進数(0と1)のデータのことを指します。コンピュータが「0」と「1」の2文字しか解釈できないため、コンピュータがデータを読み取れるため、バイナリデータが非常に汎用されています。具体的には、バイナリデータは次のような特徴があります:

バイナリデータを扱う場合、特別な注意が必要です。例えば人間が直接編集できないため、バイナリエディタという専用ツールを使用することが多いです。

バイナリファイルとは?

バイナリデータを保存するファイルをバイナリファイルと呼ばれています。実際には、我々もバイナリファイルを毎日も扱っています。バイナリファイルにはさまざまな種類がありますが、主なものとしては以下があげられます。

実行ファイル

画像ファイル

動画ファイル

文書ファイル

圧縮ファイル

この他にも音楽ファイルや各種データベースや通信ログなど、コンピュータが扱うほとんどのデータはバイナリ形式で保存されています。

バイナリデータのアップロードについて

上記のように、コンピューターは、バイナリデータのみを扱えますので、実際にWebアプリの開発中に、ファイルをバイナリデータのフォーマットでアップロードするのがごく一般です。それでは、なぜかバイナリデータというフォーマットでファイルをアップロードしますか?実際には、様々なメリットがあると思います。

データサイズを小さくできる

テキストデータと比べて、同じ情報量をより小さいデータで表現できることがあります。容量削減が可能なため転送や保存に適しています。

処理速度が速い

文字列処理に比べて単純なデータ構造の方がコンピュータの処理速度は速くなります。大量のデータを高速に扱う用途に適しているためです。

様々なデータ表現ができる

文字だけでなく画像、音声、動画など、コンピュータが扱うほぼすべてのデータをバイナリ形式で表現できます。複合的なデータを1つにまとめることができる利点があります。

ハードウェアやOSとの親和性が高い

コンピュータのハードウェアやOSが操作するのは機械語のバイナリ命令です。ハードウェアに依存しない抽象的な表現よりも、バイナリデータの方が親和性が高く効率的となります。

以上の理由から、様々な場面でバイナリフォーマットが活用されているのです。欠点もあるので、用途に応じて適切なデータ表現を選択することが大切です。

Apidogでバイナリデータをサーバーに送信

Apidogは、非常に包括的なAPI管理ツールとして、APIの設計、仕様書生成、開発、テスト、モックなどにも対応しています。Apidogを利用して、APIのサーバーサイドにバイナリデータを送信することも非常に簡単です。

button

ステップ⒈既存のAPIを開くか、新しいAPIを新規に作成して、APIエンドポイントのURLを入力した上、HTTPメソッドをPOSTに指定します。

エンドポイントとHTTPメソッドを指定

ステップ⒉Body」タブに切り替え、Content-Typeを「Binary」にし、ここでバイナリデータを選択してアップロードすることができます。

Apidogでバイナリデータを送信

バイナリファイルをアップロードした上、「送信」ボタンをクリックして、このバイナリファイルをサーバーに送信することができます。

Axiosでバイナリデータをサーバーに送信

また、コーディング能力があるユーザーは、Axiosを利用してバイナリデータをサーバーに送信することも可能です。

ステップ⒈FromDataオブジェクトの作成

まずはバイナリデータをFromDataオブジェクトに追加する必要があります。FromDataは、テーブルのフォーマットでデータをサーバーに送信します。

let formData = new FormData();
formData.append('file', binaryData, 'filename.ext');

ここでの 'file'はサーバーサイドがで取得したファイルのフィールド名なり、binaryDataはアップロードしたバイナリデータになります。このバイナリデータはファリル( <input type="file">から取得するファイル)か、任意のBlobオブジェクトです。また、'filename.ext'はサーバーに保存しようとするファイル名になります。

ステップ⒉Axiosの設定

そして、Axiosでリクエストを設定する必要があります。特に headersです。ファイルをアップロードするので、ブラウザが自動的に Content-Typemultipart/form-dataに設定されるので、非常に便利です。

const config = {
  headers: {
    // `Content-Type` はブラウザに自動的に設定される
    'Accept': 'application/json', // サンプルです、実際のニーズに従って設定
  },
};

3. リクエストの送信

最後に、Axiosを利用してこの formDataオブジェクトを送信します。

axios.post('your-server-endpoint', formData, config)
  .then(response => {
    // 处理成功的响应
    console.log(response.data);
  })
  .catch(error => {
    // 处理错误
    console.error(error);
  });

ここの 'your-server-endpoint' は、ファイルをアップロードしたいサーバーのエンドポイントURLになります。

ご案内:サーバーサイドもmultipart/form-dataのリクエストを受信できて、ファイルを処理できるように正しく設定する必要があります。

まとめ

ApidogはAPIの设計やテスト、モックを支援する包括的なプラットフォームです。このApidog上でバイナリデータの送信は簡単に実現できます。具体的にはAPIエンドポイントを設定し、Bodyタブのコンテンツタイプをバイナリに指定した上で、バイナリファイルを選択・アップロードします。送信ボタンを押すことで、指定したAPIに対してそのバイナリデータが送信されるという流れです。

button

このようにApidogを活用することで、API開発者はコードを書くことなく、バイナリデータをサーバーに送信するテストが可能となります。ただし、バイナリデータの取り扱いにはその特性上、セキュリティ等の観点から注意が必要です。

Explore more

Claude 4を無料で使う3つの方法

Claude 4を無料で使う3つの方法

Claude 4を無料で使う3つの方法と、Apidogとの連携による開発効率アップの秘訣を解説。IT従事者・初心者必見の最新AI活用術を紹介します。

6 6月 2025

開発者必見!トップ10のステーブルコインAPI紹介

開発者必見!トップ10のステーブルコインAPI紹介

この記事では、開発者が革新を起こすために活用できる、リアルタイムデータと安全なトランザクションなどの機能を備えた10の優れたステーブルコイン取引APIを評価。各APIの強みを分析し、国際決済から市場分析まで多様なユースケースをサポートします。

31 5月 2025

開発者向け:今すぐ試したい10個の無料AI API

開発者向け:今すぐ試したい10個の無料AI API

無料AI APIは、開発者にプロジェクトへAI機能を組み込む機会を提供します。APIを用いて、自然言語処理やコンピュータビジョンなどの高度な技術が簡単にアプリに追加可能であり、長期的な戦略の基盤にもなります。

30 5月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる