質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • JavaScript

    16434questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    8980questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • MySQL

    5856questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • HTML5

    4019questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Ajax

    1090questions

    Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

FileAPIで得られた画像データをDBに格納する

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 596

RyotaOgiyama

score 4

現在、画像アップロードのシステムを作成しています。

HTML上でFileAPIを利用し画像を選択。
Ajax通信をしてupload.phpに選択した画像データを送信
upload.phpでmysqlのテーブル(imgカラム)にinsertという流れを作りたいです。

FileAPIを利用した際に得られるデータは以下のようになっています。
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."
200万字にもなっているため省略させていただきました。

このデータをstringデータとしてinsertしようとしましたが、sql文の制限だと思われますが出来ず。。。

何かいい方法はないでしょうか?
また、ものによってはすでにimgカラムにパスを入れているのもあるのですがimgカラムはBLOB型にすべきでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

stringデータとしてinsertしようとしました

mysqlにstring型の設定ってありましたっけ?
mysqlに文字列でデータを渡すならtext系の型にすればよいし
バイナリデータになるならBlob系の型にすればいいと思います。

個人的にはimgのデータをdata:を利用してhtmlに埋め込むのも
DBに画像データを保持するのも、無駄が多くてお勧めしませんが

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    チェックボックスのデータベース登録について

    チェックボックスにチェックされた数によって、動的にデータベースに反映させたいのですが、行き詰まっています。。現状、以下のコードです。$checkboxにはチェックボックス(配列が入

  • 受付中

    動的に出力されたinputの値を取得し、データベースに挿入する

    <input type="number" class="hoge" name="hoge_1" id="hoge_1">番 <input type="number" class="

  • 解決済

    エラーの指示が分からない

    下記コードでブラウザ表示したら、以下エラー文が出力され、「パラメーターが足りない」と書いてあるのは把握したんですが、今回のコードで言うパラメーターの意味が分からず解決方法が見つかり

  • 解決済

    formで取得した画像を確認画面で表示する方法

    お世話になります。 ①画像を投稿するページ input.php ②上記の投稿ページからPOSTメソッドのアクションとして飛び内容を確認するページ confirm.php

  • 解決済

    INSERT...ON DUPLICATE の使い方

    コード <?php try { /* リクエストから得たスーパーグローバル変数をチェックするなどの処理 */ // データベースに接続 $pdo =

  • 解決済

    PHPでデータベースの重複チェック

    こんにちは。 調べ方(語句)も分からないので質問させてください。 データベースの特定のテーブルに既に1000の値があった場合、 次に1000を入力する場合は1000-1に変

  • 解決済

    INSERTができない

     やっていること パーフェクトPHP(2016)を読みながら、コードを写しています insertの処理が動いておらず、DBに値が入力されません 下のコードで何が間違っている

  • 解決済

    [PHP]画像を表示させることができないです...

    アップロードされ、保存された画像のパスを指定しても画像を表示させることができないです... 以下が自分が作成したコードとなるのですが、全てを載せると長くなってしまうので、画像の処理

同じタグがついた質問を見る

  • JavaScript

    16434questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    8980questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • MySQL

    5856questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • HTML5

    4019questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Ajax

    1090questions

    Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。