問題タブ [bytearrayinputstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 変換された Canvas DataURL バイトをデータベースに保存するときに Blob が破損する
xhtml に canvas 要素があります。これを base-64 でエンコードさString
れた dataUrl というtoDataUrl()
呼び出しに変換します。これにより、次の出力が生成されますが、わかりやすくするために切り捨てられています。
この画像を MySQL データベースに送信したいと考えています。エンティティに Blob (@Lob) フィールドがあり、この文字列をバイト配列に変換するには、dataUrl.getData()
このバイト配列を使用してエンティティを更新します。
私の MySQL データベースでは、BLOB が正常に作成されました。ただし、それを右クリックして [エディターでファイルを開く] をクリックすると、[バイト] タブは正常に表示されますが、[画像] タブをクリックすると一般的なエラーが表示され、バイトが何らかの形で破損していることを示唆しています。
これは、このファイルを読みたいときに、バイト配列を引数としてBufferedImage imag = ImageIO.read(is);
where is
is を使用すると、 null、より具体的にはクラス内のメソッドを返すことを意味します。ByteArrayInputStream
imag
read
BufferedImage
編集: スクリーンショットを参照してください。1dataUrl.getBytes()
つ目は呼び出し、2 つ目は MySQL の出力です。
java - バイト配列からバッファリングされた画像への変換が遅い
JPEG 形式の画像を表すバイト配列を受け取り、画像のサイズを返す単純なサーバー側コードがあります。
動作しますが、許容できないほど遅いという問題があります。100KB の画像の場合、6 秒かかります。900KB の画像の場合、30 秒かかります。それは期待されていますか?バイト配列から bufferedImage への変換を高速化する方法はありますか?
参考までに、私がやろうとしているのは、高さ/幅をつかむことだけではありません。最終的には bufferedImage を処理したいと思います。したがって、高さ/幅の取得は単なるサンプル コードです。
java - ByteArrayInputStream、SequenceInputStream、StringReader を使用する場所
java.io クラスが多すぎます。そのうちのいくつかは、必要なときに本当に理解できません。たとえば、次のようになります。
ByteArrayInputStream、ByteArrayOutputStream
シーケンスインプットストリーム、
PushbackInputStream、PushbackReader
文字列リーダー...
私はいくつかの実際の使用法を意味します
誰か説明してくれませんか...
java - B ツリー ノードを RandomAccessFile に永続化する
私のプロジェクトは B-Tree を書き込もうとしています。ツリーのノードをランダム アクセス ファイルに保持するのに問題があります。私は常に と に遭遇EOFexceptions
してStreamCorruptionExceptions
います。
私が現在使用しているいくつかのリソースは次のとおりです。
https://inaved-momin.blogspot.com/2012/08/understanding-javaiostreamcorruptedexce.html
現在の問題: ノードからリンク位置を読み取ってから、ランダム アクセス ファイルから読み取ろうとすると、StreamCorruptionExceptions
.
目標: ランダム アクセス ファイル内のすべてのノードにアクセスできるように、変更してランダム アクセス ファイルに書き戻します。
テスト.java
Node.java
java - ローカル Jetty6 は、ImageIO を使用してバイト配列 (ByteArrayInputStream) からイメージを読み取ることができません
Stackoverflow メンバーの皆様、こんにちは。
しばらくの間、GWT アプリケーションを切り替えました。GWT のバージョンは 2.4 から 2.6 です。そこで、そこで新しいスーパー開発モードにも変更しました。これにより、ローカルの jetty サーバーをインストールする必要があり、内部の eclipse ?jetty? を使用できませんでした。もう。サーバー側では、sun 自体の ImageIO パッケージでイメージを書き込んで保存します。先週まではこれに問題はありませんでしたが、デプロイ サーバーの場合とは異なり、このケースではアプリが bytearrayinputstream から読み取ることができなくなっていることを確認しました。信頼性の高い開発のためには、ローカル プラットフォームでコーディングしてテストする可能性が必要です。問題は、 ImageIO.read 静的関数が機能しなくなったことですが、機能しなくなっただけでなく、例外をスローすることなくコードを終了します! コード部分を示します。
次の出力のみが得られます。
しかし、いいえ:
ご覧のとおり、バイトストリームのファイルをファイルシステムに書き込むことはできますが、そのバイトストリームを ImageIO.read でイメージに読み取ることはできません。理由はわかりません。バイトストリームがあり、サイズがあり、ディスクへの書き込みも正しいですが、 ImageIO.read を使用すると、サーバーは例外なく何らかの形でコードを終了します.誰かが知っていますか、ここで間違っていましたか? ありがとうございました。
よろしく、マックス
添付されたスタック トレースを編集する