0

我有一个表单,它有一个输入字段,可以接收一个文件,我试图获取一个文件的输入,比如说一个图像。在此之后,我使用 php 检查文件类型并将其上传到数据库。我怎样才能让 jquery 将图像文件发布到 php 以便 php 可以执行其功能。我可以得到其他领域的属性,但不能得到图像。

html

<input type="file" name="upload" id="upload"/>

jQuery

//how do get the file
var img = //left blank what should i get
var a = 'form1';
var url = "upload_data.php";
$.post(url, {a:a, file:img, other:fields}){
//success
}

php

$p = $_POST['a'];
$file = $_POST['file'];

$iname = $_FILES['file']['name'];

$isize= $_FILES['file']['size'];

$itemp= $_FILES['file']['tmp_name'];

$otherfield = $_POST['other'];
if($p = 'form1'){

form1func($otherfield, $file, $iname, $itemp); // at this point will this work since i used jquery if wont what is the best solution at this point.

}

可能不干净,但我希望有人能理解

4

1 回答 1

1

您可以在表单提交之前在上传按钮上使用以下代码。

var ext = $('#upload').val().split('.').pop().toLowerCase();
if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
    alert('invalid extension!');
}

或者 :

var filename = jQUery('#upload').val().trim();
var valid_extensions = /(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$/i;   
if(valid_extensions.test(filename))
{ 
   alert('OK');
}
else
{
   alert('Invalid File');
}
于 2012-08-21T18:07:03.757 回答