2012-05-17 29 views
5

Otomatik yükleme yükünü jQuery File Upload olarak ayarlamaya çalışıyorum. Yani ben bu şekilde düzenleme jquery.fileupload.js deneyin:JQuery Dosya Yükleme'ye otomatik yükleme özelliği nasıl ayarlanır

(function (factory) { 
    'use strict'; 
    if (typeof define === 'function' && define.amd) { 
     // Register as an anonymous AMD module: 
     define([ 
      'jquery', 
      'jquery.ui.widget' 
     ], factory); 
    } else { 
     // Browser globals: 
     factory(window.jQuery); 
    } 
}(function ($) { 
    'use strict'; 

    // The FileReader API is not actually used, but works as feature detection, 
    // as e.g. Safari supports XHR file uploads via the FormData API, 
    // but not non-multipart XHR file uploads: 
    $.support.xhrFileUpload = !!(window.XMLHttpRequestUpload && window.FileReader); 
    $.support.xhrFormDataFileUpload = !!window.FormData; 

    // The fileupload widget listens for change events on file input fields defined 
    // via fileInput setting and paste or drop events of the given dropZone. 
    // In addition to the default jQuery Widget methods, the fileupload widget 
    // exposes the "add" and "send" methods, to add or directly send files using 
    // the fileupload API. 
    // By default, files added via file input selection, paste, drag & drop or 
    // "add" method are uploaded immediately, but it is possible to override 
    // the "add" callback option to queue file uploads. 
    $.widget('blueimp.fileupload', { 

     options: { 
      // The namespace used for event handler binding on the dropZone and 
      // fileInput collections.   
      // If not set, the name of the widget ("fileupload") is used. 
      namespace: undefined, 
      autoUpload:true, 
      . 
      . 
      . 

ve main.js bu yolla:

$(function() { 
    'use strict'; 

    // Initialize the jQuery File Upload widget: 
    $('#fileupload').fileupload(); 

    // Enable iframe cross-domain access via redirect option: 
    $('#fileupload').fileupload(
     'option', 
     'redirect', 
     window.location.href.replace(
      /\/[^\/]*$/, 
      '/cors/result.html?%s' 
     ) 
    ); 

    if (window.location.hostname === 'blueimp.github.com') { 
     // Demo settings: 
     $('#fileupload').fileupload('option', { 
      url: '//jquery-file-upload.appspot.com/', 
      maxFileSize: 5000000, 
      autoUpload:true, 
      . 
      . 
      . 

i o yüzden düğme görünür başlatmak bu

<td class="start">{% if (!o.options.autoUpload) { %} 
    <button class="btn btn-primary"> 
     <i class="icon-upload icon-white"></i> 
     <span>{%=locale.fileupload.start%}</span> 
    </button> 
{% } %}</td> 

görebilirler. options.autoUpload, false, ancak true olarak ayarlıyorum. Ne yapabilirim? Hangi şekilde seçildiğinde doğrudan görüntü yüklemek için otomatik yükleme ayarlayabilirim? teşekkürler !!!!

cevap

13

i eklenti sitesinden indirilen orijinal örnek alarak çözdü ve ben bayrağı autoUpload:true değiştirmek ve onu :)

+2

Teşekkür Jack çalışır. Cevabınız bana gerçekten yardımcı oldu. Ben sadece $ ('# fileupload') ekledim: fileupload ('option', {autoUpload: true \t}); main.js ve çalıştı. If (window.location.hostname === 'blueimp.github.com') bloğu içine koymak için dikkatli olun. – clone45

+0

Bu benim için hiç işe yaramıyor. AutoUpload seçeneği sadece 'jquery.fileupload-ui.js' içinde görünür, bu yüzden hiçbir başarı olmadan 'true' olarak değiştirdim. Ayrıca clone45'in yöntemini denedim ve bu da işe yaramadı. Herhangi bir fikir? – vertigoelectric

+1

Kendi çözümümü buldum. Yüklemeleri bıraktığınız sayfada, bir 'Başlat' düğmesinin var olup olmadığını görmek için her yarım saniyede bir kontrol eden bir 'setInterval' ekledim. Şimdiye kadar harika çalışıyor gibi görünüyor. – vertigoelectric

İlgili konular