jquery 请求html文件上传,在AJAX和jQuery中使用HTML5文件上传

这篇博客介绍了如何利用JavaScript的FileReader接口读取文件内容,并通过AJAX提交到服务器。在前端,文件通过readAsText方法读取,然后在onload事件中发送到服务器。服务器端使用PHP接收文件内容,保存到uploads目录下,并返回文件名。整个过程涉及文件上传、AJAX交互和服务器端处理。
摘要由CSDN通过智能技术生成

小编典典

不太难。首先,看一下FileReader接口。

因此,提交表单后,赶上提交过程,然后

var file = document.getElementById('fileBox').files[0]; //Files[0] = 1st file

var reader = new FileReader();

reader.readAsText(file, 'UTF-8');

reader.onload = shipOff;

//reader.onloadstart = ...

//reader.onprogress = ...

//reader.onabort = ...

//reader.onerror = ...

//reader.onloadend = ...

function shipOff(event) {

var result = event.target.result;

var fileName = document.getElementById('fileBox').files[0].name; //Should be 'picture.jpg'

$.post('/myscript.php', { data: result, name: fileName }, continueSubmission);

}

然后,在服务器端(即myscript.php):

$data = $_POST['data'];

$fileName = $_POST['name'];

$serverFile = time().$fileName;

$fp = fopen('/uploads/'.$serverFile,'w'); //Prepends timestamp to prevent overwriting

fwrite($fp, $data);

fclose($fp);

$returnData = array( "serverFile" => $serverFile );

echo json_encode($returnData);

或类似的东西。我可能会弄错(如果我愿意,请纠正我),但这应将文件存储为1287916771myPicture.jpgin

/uploads/在您的服务器上,并continueSubmission()在服务器上使用包含fileName的JSON变量(对函数)进行响应。

签出fwrite()并jQuery.post()。

在上一页中,它详细说明了如何使用readAsBinaryString(),readAsDataUrl()和readAsArrayBuffer()满足您的其他需求(例如图像,视频等)。

2020-05-01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值