SORU
28 Aralık 2010, Salı


JQuery ile bir dosya indir.Ajax

Dosya indirmek için sunucu tarafında Struts2 bir eylem var.

<action name="download" class="com.xxx.DownAction">
    <result name="success" type="stream">
        <param name="contentType">text/plain</param>
        <param name="inputName">imageStream</param>
        <param name="contentDisposition">attachment;filename={fileName}</param>
        <param name="bufferSize">1024</param>
    </result>
</action>

Eylem jQuery kullanarak aradığımda ancak:

$.post(
  "/download.action",{
    para1:value1,
    para2:value2
    ....
  },function(data){
      console.info(data);
   }
);

Firebug veriler ile retreived olduğunu görüyorumİkili akışı. Açmak için nasıl merak ediyorumdosya indirme penceresikullanıcı dosyayı kaydedebilirsiniz hangi ile yerel olarak?

CEVAP
2 NİSAN 2012, PAZARTESİ


Bluish bu konuda tamamen haklı, JavaScript doğrudan bir kullanıcının bilgisayar (güvenlik endişeleri) dosyalarını kaydetmek için Ajax ile bunu yapamazsın. Ne yazık ki işaretana pencereDosya indirme URL kullanıcı deneyimi dosya indirme oluştuğunda ne kontrolü anlamına gelir.

"Ajax" dosyayı indir OnSuccess ile tam ve OnFailure daha iyi bir kullanıcı deneyimi sunmak için geri çağrıları ile deneyim gibi bir imkan veren jQuery File Download ben yarattım ** 8 eklenti çözer ortak sorunu benim ve kullanmak için bazı yollar ve demo of jQuery File Download in action da bir göz atın. Burada source

Burada vaatlerle eklentisi source kullanarak demo kullanımı basit bir dava. demo page birçok diğer, daha iyi UX 'de örnekler içerir.

$.fileDownload('some/file.pdf')
    .done(function () { alert('File download a success!'); })
    .fail(function () { alert('File download failed!'); });

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • movies95

    movies95

    27 Kasım 2006
  • spederson7

    spederson7

    17 Temmuz 2006
  • Tinkernut

    Tinkernut

    28 Aralık 2006