2011-09-11 9 views
2

私は、Webサイトで自分の複数のファイルアップロードUIを構築するためにblue-imp jquery.fileupload基本プラグインを使用します。 Internet Explorerに問題があります。 。blue impファイルのアップロードプラグインIEの問題

function setFotoUpload() { 
     $('#fotoUploadContainer').fileupload({ 
       dataType:"json", 
       url:"/ilan/resimkaydet", 
       add:function(e,data) { 
        if(data.files.length + $('#fotoContainer .satir').length > 10) { 
         if(!data.uyarildi) 
          { 
           data.uyarildi = true; 
           alert("10 resime kadar ekleyebilirsiniz."); 
           return ; 
          } 
        } 
        $.each(data.files, function(index, file) { 
         data.satir = $('<div class="satir"><span class="imgW"><img src="/Content/style/image/loading.gif" /></span><span class="isimW">' + file.name.replace('"','').replace('','') + '</span><span class="tamamlanan"></span></div>').appendTo($('#fotoContainer')); 
        }); 
        data.submit(); 
       }, 
       send:function(e,data) { 
       }, 
       progress:function(e, data) { 
        data.satir.find('.tamamlanan').html('Yükleniyor : '+ parseInt(data.loaded/data.total * 100, 10)+' %'); 
       }, 
       done:function(e,data) { 

        data.satir.append('<span class="sil ico-button">Sil</span>'); 
        data.satir.append('<span class="vitrinFotoYap ico-button">Vitrin Fotoğrafı Yap</span>'); 
        data.satir.append('<span class="yukariTasi ico-button">▲</span>'); 
        data.satir.append('<span class="asagiTasi ico-button">▼</span>'); 

        data.satir.find('img').attr('src',data.result.Name); 
        data.satir.find('.tamamlanan').remove(); 
       } 

      } 
     ); 

     $('#fotoContainer .satir .sil').live('click', function() { 
     $(this).parent('.satir').remove(); 
    }); 

そして

<div id="fotolar"> 
     <span id="val-error61" class="val-error" style="display: none;">Lütfen vitrin fotoğrafınızı 
      belirleyiniz.</span> 
     <img class="fotoLogo" src="/Content/style/image/ilan/ekle/ilanDetay/fb.png" /> 
     <div class="fotoIslem"> 
       <span class="ico-button btnResimEkle" style="position:relative;"> 
      <form id="fotoUploadContainer" action="/ilan/resimkaydet" class="ico-button" method="POST" enctype="multipart/form-data"> 
        <input type="file" id="fotoUploader" name="inputFile" multiple="true" style="position: absolute; 
         top: 0; 
         right: 0; 
         border: solid transparent; 
         opacity: 0; 
         filter: alpha(opacity=0); 
         -o-transform: translate(250px,-50px) scale(1); 
         -moz-transform: translate(-300px,0) scale(4); 
         direction: ltr; 
         cursor: pointer; 
         margin: 0; 
         border-width: 0 0 100px 200px;" /> 
       </form>Resim Ekle</span> 
      <span class="ico-button btnHepsiniSil">Hepsini Sil</span> 

      </div> 
     <div id="fotoContainer"> 
      @if (Model.tIlanResim != null) 
      { 
       foreach (var item in Model.tIlanResim) 
       { 
       <div class="satir"> 
        <span class="imgW">s 
         <img src="@(item.Yol.Replace("Foto/", "Foto/th"))" /></span><span class="isimW">İlan 
          Resmi</span><span class="sil ico-button">Sil</span><span class="vitrinFotoYap ico-button">Vitrin 
           Fotoğrafı Yap</span><span class="yukariTasi ico-button">▲</span><span class="asagiTasi ico-button">▼</span></div> 
       } 
      } 
     </div> 
    </div> 

Mvc3アクションがあるように私のHTMLコードは次のとおりです: 私はファイルアップロードプラグインで行われたイベントを発生しません

コードがある

[KayitliKullanici, HttpPost] 
    public ActionResult ResimKaydet(HttpPostedFileBase inputFile) 
    { 
     string str = DateTime.Now.ToFileTime().ToString(); 

     string extension = Path.GetExtension(inputFile.FileName); 
     if ((extension != ".jpg" && extension != ".jpeg") && ((extension != ".png" && extension != ".gif") && extension != ".bmp")) 
     { 
      return null; 
     } 
     var saveName = str + extension; 

     string path = GlobalPaths.TempFolder + saveName; 
     var fileName = Server.MapPath(path); 
     inputFile.SaveAs(fileName); 
     new IlanIslem().ResimKaydet(Server.MapPath(path), Server.MapPath(GlobalPaths.TempFolder)); 

     return Json(new 
     { 
      inputFileName = inputFile.FileName, 
      Name = GlobalPaths.TempFolder + "th" + saveName, 
      Length = inputFile.ContentLength, 
      Type = inputFile.ContentType 
     }); 


     return new EmptyResult(); 
     //return new ContentResult { Content = GlobalPaths.TempFolder + "pre" + str + extension }; 
    } 

私はグーグルで回ったが、答えは見つけられなかった。

答えて

1

this example hereによると、Content-Typeレスポンスヘッダーを「text/plain」に設定し、イベントはが起動を開始する必要があります。