問題タブ [data-url]

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.

0 投票する
1 に答える
1736 参照

html - データ URL を使用する場合の Html5 の object タグと audio タグの違い

audio タグを使用して html5 で音楽を再生する必要があります。データは、サーバーによって生成される base64 文字列 (data:audio/wav;base64,xxxxxx) です。imageタグと同様に、audioタグもdata urlを使えるとのことなので、こんな感じでやってみました。

しかし、私は失敗しました、何も起こりませんでした。私は結果を検索し、これを見つけました:

html5 で base64 データを使用してオーディオを再生する

回答にデータのURLがあり、試してみましたが、うまくいきました。

私のbase64データは間違っていると思いますが、データのURLをブラウザのアドレスバーに入れると.プラグインで再生されます!!以下のように同じパフォーマンスです(うまくいきましたが、プラグインを使用する必要があります):

だから私の質問は: 2 つの方法の違いは何ですか?

オーディオタグを使用する場合に含まれているはずのファイルヘッダーがいくつかあると思いますが、それについてはわかりません。

男がヘッダーテンプレートを使用するこのリンクを見つけます(RIFF<##>WAVEfmt \x10\x00\x00\x00\x01\x00\x01\x00<##><##>\x02\x00\x10\x00data <##>"):

data:url google chrome mobile からオーディオを再生する

事前に感謝します。

EDIT ああ、ほとんどのブラウザがオーディオ/ミディデータ型をサポートしていないことを知って申し訳ありません.プラグインがより強力であるため、オブジェクトタグで再生できます. そして、ここで midi.js を見つけました。

https://github.com/mudcube/MIDI.js

0 投票する
2 に答える
239 参照

django - 実際の画像を Web またはその dataURL に保存する

webapp の作成はほぼ完了しました。バックエンドは Django を使用しています。このプロジェクトでは、ユーザーが自分の画像をアップロードし、CamanJS を使用して画像を調整できます。画像はさまざまなサイズ (5mp 以上) で、さまざまな色にすることができます。それを数字にすると、ユーザーはおよそ持っているかもしれません。クライアントごとに 60 枚の画像、場合によっては 1000 のクライアントが必要です。したがって、最悪のシナリオを想定して、各画像が約 3 MB であると仮定すると、

私のアプリケーションはオンライン (おそらくパス上) であり、おそらく多くのユーザーがいることがわかっている場合、画像サイズを処理する最善の方法は何ですか? dataURL をデータベース (base64 形式) に保存した方がよいでしょうか。これにより、プロジェクトに必要な hd スペースのサイズが縮小されますか? 画像が最初の詳細を失わないことが重要であると言わざるを得ません。したがって、圧縮を適用する場合、画像の品質を低下させる必要はありません。最善の解決策は何だと思いますか?

0 投票する
0 に答える
726 参照

meteor - 画像からデータ URL を生成する

単純な問題

Google Drive API のサムネイルがあり、有効期限があるためコピーを保存する必要があります。

環境

管理者がウェブサイトにコンテンツを追加するためのバックエンドを構築しており、リソース管理ツールとして Google ドライブを使用しています。私は Meteor で実行しているので、サーバー側の Nodejs です。

試み

  1. よく知られているキャンバス メソッドを使用して、データ URL を取得します。

    ただし、CORS の制限により失敗します (サムネイルは Google ドメインから取得されます)。

  2. "Okay, so since it'll be stored on the server, I might as well do the job directly there."画像コンテンツを取得することは問題ありませんでしたが、いくつかの不明な暗い呪いで、コンテンツを適切な base64 形式に変換することができませんでした。結果の文字列は予想される出力とほぼ同じですが、文字の不一致が約 10% あります... base64 変換を行うために膨大な量の関数を試しましたが、正しく取得できません。私は正しいと思うこの単純なコードの魔女になってしまいました。コンテンツのエンコーディングに欠けているものがあります... (これは流星のコードで、collection-hooks パッケージを使用しています)

    Buffer ラッパーの有無にかかわらず、可能なすべての Buffer エンコーディング パラメータを使用して試してみました。「ascii」は、次のような他のレガシー変換関数と比較して正しい出力を生成するものです: http://hellerim.net/base64_src.php

  3. "Proxy the god damn image then!"はい、試してみましたが、html ヘッダーで問題が発生しました... (http-methods パッケージ)

    「コンテンツタイプ」を設定しない場合、もちろんテキストとしてデータを取得します。そうでなければ、何も得られません。"Right, this is because 'content-length' is missing!"...追加すると、素敵なエラーでサーバーがクラッシュしますCan't render headers after they are sent to the client。私は流星の専門家ではなく、テーブルの下で何が起こっているのかまったくわかりません。いくつかのヘッダーが自動的に追加されている必要があり、コンテンツの長さを任意に定義して何らかのプロセスを台無しにしているに違いありません。

  4. "Wow, dude, you like it hard! Why don't you just store them as files?"まず、管理がはるかに簡単であり、dataURL を使用することがサムネイルをすばやく表示するのに最適であると考えているため、DB に格納することをお勧めします。第二に、流星のパブリック フォルダーへのアクセスが禁止されているため、ファイルをサーバー上の別の場所に手動で保存する必要があるため、魔女は醜く、それらの取得を許可するアクセス ポイントを提供します。さらに、mongodb の gridfs ファイル ストレージを試しました。meteor ラッパー (CollectionFS パッケージ) はバグが多く、単にサムネイルを保存するための多くのインフラストラクチャです。

だから、最初の3点に関連するアイデアを持っている人がいたら、すぐにビールを買うよ!私はこれで1週間以上立ち往生しており、弾薬がありません!

ありがとう =)

0 投票する
2 に答える
577 参照

jquery - jqgrid を使用している場合、Internet Explorer を使用しているときに編集フォームのドロップダウンをサーバーから強制的に更新するにはどうすればよいですか?

私は asp.net-mvc サイトを持っており、私はjqgridを使用しています。編集コントロールがドロップダウンになっているフィールドがいくつかあります。ドロップダウンが依存する int という名前が別の列に由来するという問題があるため、編集フォームを表示するたびに、または「+」をクリックして新しいエントリを追加するたびに、サーバーから強制的に更新する必要があります正しい文字列が表示されていることを確認してください。

Internet Explorer がドロップダウン リストをキャッシュしないように一生懸命指示しても、ドロップダウン リストがキャッシュされているように見えるという問題が発生しています。Firefox や Chrome ではこの問題は発生しません。

これが私のコードです:

私が問題を観察している Col MODEL 行:

編集ボタンと追加ボタンを作成するコードは次のとおりです。

と思いました

また

トリックを行いますが、違いはないようです。

しかし、編集フォームまたは新しいフォームを表示すると、ドロップダウンの項目のリストを返すためにバックエンドの関数が呼び出されていないため、クライアント側のキャッシュが必要であることがわかりました。

新しいエントリを編集または追加しようとするたびに、dataurl ( dataUrl: "/SiteSettings/GetSelectData ")を強制的に更新するにはどうすればよいですか?