Jquery AjaxUpload文件上传

普通php文件上传方法如下:

html代码:

<html>
<body>
 
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
 
</body>
</html>

php代码:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:

  • $_FILES["file"]["name"] – 被上传文件的名称

  • $_FILES["file"]["type"] – 被上传文件的类型

  • $_FILES["file"]["size"] – 被上传文件的大小,以字节计

  • $_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称

  • $_FILES["file"]["error"] – 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。

jquery ajaxupload.js默认配置:

this._settings = {
    // Location of the server-side upload script
    action: 'upload.php',            
    // File upload name
    name: 'userfile',
    // Additional data to send
    data: {},
    // Submit file as soon as it's selected
    autoSubmit: true,
    // The type of data that you're expecting back from the server.
    // Html and xml are detected automatically.
    // Only useful when you are using json data as a response.
    // Set to "json" in that case.
    responseType: false,
    // When user selects a file, useful with autoSubmit disabled            
    onChange: function(file, extension){},                    
    // Callback to fire before file is uploaded
    // You can return false to cancel upload
    onSubmit: function(file, extension){},
    // Fired when file upload is completed
    // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
    onComplete: function(file, response) {}
}

简单的实例:

function uploadFile(_id,_upload_type){
    new AjaxUpload('form_'+_id, {
        action : '/uploadFile',//请求目标
        name : 'file_name',//文件参数名
        autoSubmit: true,//自动提交
        responseType: 'json',
        data : {uploadtype: _upload_type, TOVO_ID: _id},
        onComplete : function(file, response) {
            if(response.code=="000"){
                load_vo();
                msg("操作成功");
            }else{
                msg("操作失败,原因:"+response.result);
            }
        }
    });
}

单一文件上传,服务端处理和普通php上传处理方法相同。

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>