3

問題のあるサンプルページは次のとおりです。

http://estorkdelivery.com/template/view/69

当社の Web サイトでは、テンプレートのプレビューを提供しています。テキスト情報を入力し、タブでフィールドの外に出ると、Web サイトはテキストがフィールドに追加された更新された画像のプレビューを提供します。

サーバーがこの画像を返すと:

http://estorkdelivery.com/file/preview/verify_token:149505eb811f8856a12ec6e71e2932f082a97edf

コンソールに次のメッセージが表示され、壊れて表示されます。

リソースはイメージとして解釈されますが、MIME タイプ text/html で転送されます: http://estorkdelivery.com/file/preview/verify_token:149505eb811f8856a12ec6e71e2932f082a97edf

すべてのベースをカバーしようとして、サーバーに次の MIME タイプが設定されていることを確認しました。

アプリケーション/x-javascript .js

画像/jpeg jpeg jpg jpe

画像/png png

なぜこれが起こっているのかわかりません。誰かがトラブルシューティングを手伝ってくれるかどうか疑問に思っていました。何か案は?

ありがとう!

2012 年 4 月 27 日更新- 私の質問はマークダウンされましたが、この問題について調査を行いました。この質問が答えに値しない場合、トラブルシューティングを続けるために必要な方向を誰かが教えてくれますか? 私は軽く質問をしません.StackOverflowで同様の問題をたくさん読んで、まだ同じ問題を抱えていることに気づきました。丁寧な説明なしにマークダウンされるのはがっかりです。ありがとう。

4

1 に答える 1

0

正直なところ、これはサーバーのセットアップの問題ではないと思います。AJAX リクエストが で戻ってきたらverify_token、それを使用してサーバーから画像を取得できます。次に、JavaScript を使用して、新しいプレビューをページに表示することができます。

このセクションは奇妙に見えます:

new $._iframeUpload(form, {
  success: function(response)
  {
    $('.preview').attr('src', 'http://estorkdelivery.com/file/preview/verify_token:' 
        + response.verify_token);
    var image = new Image();
    image.src = 'http://estorkdelivery.com/file/preview/verify_token:' 
        + response.verify_token;
    image.onload = function()
    {
      $queue--;
      if ($queue <= 0)
        $('.updating').hide();
    };
  }
}); 

タグの編集に Image オブジェクトが作成される理由がよくわかりません。imgJavaScript を次のように変更します (onloadコールバックが機能するように)。

new $._iframeUpload(form, {
  success: function(response)
  {
    var image = new Image();
    image.onload = function()
    {
      $('.preview').attr('src', image.src);
      $queue--;
      if ($queue <= 0)
        $('.updating').hide();
    };
    image.src = 'http://estorkdelivery.com/file/preview/verify_token:' 
        + response.verify_token;
  }
}); 

それを試して、それが役立つかどうか教えてください。

ちょっとした癖

これはあなたの質問への回答ではありませんが、この画像の読み込みプロセス全体がどのように機能するかに影響します。あなたのプレビューは 700 x 500 ですが、サーバーから返される新しいプレビューは 2900 x 2100 です! これにより、AJAX の読み込み時間が最初のページの読み込みよりもはるかに長くなります。サーバー側でサイズを小さくしてから、ブラウザに転送することを検討してください。

于 2012-05-22T20:04:51.687 に答える