2013-12-22 2 views
0

Blueimp Jquery File Upload 플러그인 (http://blueimp.github.io/jQuery-File-Upload/)을 사용하고 있습니다. 기존 세션을 전송할 수 없습니다. 그래서 두 번째 Textform은 좋은 생각입니다. 하지만 제 생각에 스크립트는 표준 양식을 통해 제출하지 않습니다. 스크립트는 jQuery/json을 통해 제출합니다. 그러나 POST-Data는 발생하지 않습니다.jQuery 파일 업로드 : POST 또는 세션 데이터 전송

는해서 getJSON-기능이 확장을 필요로 여기에 읽기 : Jquery File Upload plugin: Dynamically change upload path?

하지만 난이 기능을 찾을 수 없습니다. 누구든지이 기능을 알고 있습니까?

다음은 Upload-Form이며 PHP-UploadHandler로 데이터를 보냅니다.

<?php 
ob_start(); 
?> 
<!DOCTYPE HTML> 

<html lang="en"> 
<head> 
<!-- Force latest IE rendering engine or ChromeFrame if installed --> 
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]--> 
<meta charset="utf-8"> 
<!-- Bootstrap styles --> 
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> 

<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> 
<link rel="stylesheet" href="/upload/css/jquery.fileupload.css"> 
</head> 
<body> 

<div class="container"> 

    <!-- The fileinput-button span is used to style the file input field as button --> 
    <span class="btn btn-success fileinput-button"> 
     <i class="glyphicon glyphicon-plus"></i> 
     <span>Select files...</span> 
     <!-- The file input field used as target for the file upload widget --> 
     <input id="fileupload" type="file" name="files[]" multiple> 
     <input type="hidden" name="sessionuse" value="<? echo $_SESSION['userid'];?>"> 
    </span> 
    <br> 
    <br> 
    <!-- The global progress bar --> 
    <div id="progress" class="progress"> 
     <div class="progress-bar progress-bar-success"></div> 
    </div> 
    <!-- The container for the uploaded files --> 
    <div id="files" class="files"></div> 
    <br> 
    <div class="panel panel-default"> 

    </div> 
</div> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> 
<script src="js/vendor/jquery.ui.widget.js"></script> 
<!-- The Iframe Transport is required for browsers without support for XHR file uploads --> 
<script src="js/jquery.iframe-transport.js"></script> 
<!-- The basic File Upload plugin --> 
<script src="js/jquery.fileupload.js"></script> 
<!-- Bootstrap JS is not required, but included for the responsive demo navigation --> 
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> 
<script> 
/*jslint unparam: true */ 
/*global window, $ */ 
$(function() { 
    'use strict'; 
    // Change this to the location of your server-side upload handler: 
    var url = window.location.hostname === 'blueimp.github.io' ? 
       '//jquery-file-upload.appspot.com/' : 'server/php/'; 
    $('#fileupload').fileupload({ 
     url: url, 
     dataType: 'json', 
     done: function (e, data) { 
      $.each(data.result.files, function (index, file) { 
       $('<p/>').text(file.name).appendTo('#files'); 
      }); 
     }, 
     progressall: function (e, data) { 
      var progress = parseInt(data.loaded/data.total * 100, 10); 
      $('#progress .progress-bar').css(
       'width', 
       progress + '%' 
      ); 
     } 
    }).prop('disabled', !$.support.fileInput) 
     .parent().addClass($.support.fileInput ? undefined : 'disabled'); 
}); 
</script> 
</body> 
</html> 
<?php 
ob_end_flush(); 
?> 

답변

0

당신은 당신이 그들의 콘텐츠를 자동으로 플러그인 보내됩니다 원하는 경우 input<form>에 태그를 포함해야합니다. this fiddle의 콘솔에서 차이점을 볼 수 있습니다.

업로드 된 파일과 함께 추가 데이터를 보내는 두 번째 방법은 formData option입니다.