首先抱歉我的英语。
如何在Jquery中访问使用HTML->输入类型=“文件”标记上传的文件内容。
表单代码是: -
<div id="import_csv_dialog" style='display:none'>
<form method='post' enctype='multipart/form-data'>
<table>
<tr><td colspan="2"> </td></tr>
<tr><td>File Location: </td>
<td><input type="file" name="file" id="file"/></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr><td colspan="2"> </td></tr>
<tr><td colspan="2"><a style="cursor:pointer" class="css_btn" onclick="importCsv()">Import</a></td></tr>
</table>
</form>
</div>
Jquery代码是: -
function importCsv()
{
if($('#file').val()=="")
{
jQuery.noticeAdd({
text: 'Please select a file',
type: 'error'
});
return;
}
var file_id=$('#file').val();
var url = "<?php echo $this->baseUrl; ?>/Ordermanagement/importcsv/"+file_id;
var data = {file_id: file_id};
$.post(url, data, function(data, textStatus, XMLHttpRequest)
{
$('#gridList7').trigger("reloadGrid");
jQuery.noticeAdd({
text: 'Data Imported successfully',
type: 'success'
});
$('#import_csv_dialog').dialog('close');
});
}
在这段代码中,我调用zend控制器函数importcsv,文件名作为参数。这是一个.csv文件。在这个php文件中,我将把这个csv文件的内容插入到我的数据库中。但是在这个函数中,我只能将文件名作为参数,而不是内容或路径。我怎样才能获得这个文件的内容?这是在$ _FILES [“file”] [“tmp_name”]的帮助下使用简单的PHP。如何在Jquery中获取tmp_name。
非常感谢
答案 0 :(得分:2)
<script type="text/javascript">
$("#form_oferta").submit(function(event) {
var dados = $( form ).serialize();
$.ajax({
type: "POST",
contentType:attr( "enctype", "multipart/form-data" ),
url: "<?php echo site_url(); ?>adm/oferta_insert",
data: dados,
success: function( data )
{
alert( data );
}
});
return false;
}
</script>