77

標準の HTML ファイルのアップロードは次のように機能します。

<g:form method="post" accept-charset="utf-8" enctype="multipart/form-data"  
     name="form" url="someurl">

    <input type="file" name="file" id="file" />

</form>

私の場合、画像を html5 キャンバスにロードし、それをファイルとしてサーバーに送信したいと考えています。できます:

var canvas; // some canvas with an image
var url = canvas.toDataURL();

これにより、base64 としての image/png が得られます。

入力タイプのファイルで行うのと同じ方法で、base64 イメージをサーバーに送信するにはどうすればよいですか?

問題は、base64 ファイルが、input type="file" 内にあるファイルと同じタイプではないことです。

型が同じbase64をサーバー用になんとか変換できませんか?

4

7 に答える 7

2
const canvas = document.querySelector("canvas");
canvas.toBlob(blob => {
  const file = new File([blob], "image.png");
});
于 2021-03-24T14:40:03.937 に答える