2012-03-28 8 views
0

私はMVC3プロジェクト& バルスファイルアップローダーです。アップロードは、私は素晴らしい作品 jQueryのように、サムネイル画像を見ることができる行われたときにサムネイル表示問題

コードは、だから、ローカル

<script type="text/jscript"> 
    var uploader = new qq.FileUploader({ 
    element: document.getElementById('file-uploader'), 
    action: '@Url.Action("UploadFile")', 
    allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], 
    sizeLimit: 2147483647, 
    onComplete: function (id, fileName, responseJSON) { 
      var uploadedFile = "/Images/Orders/thumb-" + responseJSON.uploadedFile; 
      $("#uploadedImage").attr("src", uploadedFile); 
      $("#ImageErrorMessage").text(""); 
      alert("Your file has been uploaded."); 
     } 
    });         
</script> 

に従っています。

しかし、LIVEウェブサイトでは、サムネイル画像はまったく表示されません。 (しかし、とにかく警告メッセージが表示され、サムネイル画像が作成されています)

サムネイルのサイズは約30KBです。

だから、そうでなければなりません。

ヒント?ありがとうございました!

答えて

2

あなたはハードコードされたURLがあります。

var uploadedFile = "/Images/Orders/thumb-" + responseJSON.uploadedFile; 

あなたはASP.NET MVCアプリケーションで行うべきではありません何か。 URLを扱うときは、常にURLヘルパーを使用する必要があります。その理由は、IISにアプリケーションをデプロイするときに、URLの前に置く必要がある仮想ディレクトリ名があるからです。だから、正しいアドレスは以下のようになります。もちろん生産のための2つの別々のバージョンの開発のために1つずつ持つ

var uploadedFile = "/MyAppName/Images/Orders/thumb-" + responseJSON.uploadedFile; 

が受け入れられません。だからあなたはURLヘルパーを使うべきです。

ので:

var uploadedFile = '@Url.Content("~/images/orders/thumb-")' + responseJSON.uploadedFile; 

か、これはあなたがサーバー側のヘルパーを使用することができない、別のJavaScriptファイル内にある場合、あなたはあなたのビューでグローバルjavascriptの変数としてベースURLを宣言して、ここでそれを再利用することができ。