当<input type="file"> 时配置上传文件到指定服务器
当 input type=”file” 时配置上传文件到指定服务器
HTML 代码
<input id="testFile" onchange="fileChange()" accept="application/pdf" type="file"/>
accept属性是规定上传文件的类型,当前以PDF为例
js 代码
fileChange = function() {
var formData = new FormData();
var fileName = $('#testFile').val();
var files = $('#testFile')[0].files[0];
formData.append("File", files);
formData.append("FileName", fileName);
$.ajax({
url: "上传地址",
type: 'POST',
data: formData,
dataType:'json',
processData: false,// 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function (res) {
console.log(res)
}
});
}
php 代码
路由
// 文件上传api接口
Route::group([
'namespace' => 'Api'
], function () {
Route::post('上传地址', '文件上传控制器名@ApplyFileUpload');
});
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
——————————————————————————————————————————————————————————————
class 控制器名 extends Controller
{
// 文件上传
public function ApplyFileUpload(Request $request)
{
$data = [];
// 通过$request->file()获取上传的文件可以做验证,这里就不写了
// 循环处理多文件
foreach ($request->file() as $file) {
// 存储文件
$path = Storage::disk('public')->putFile(date('Ymd'), $file);
// 文件路径
array_push($data, ['url' => Storage::url($path)]);
}
return response(['errno' => 0, 'data' => $data]);
}
}
我是菜鸟phper,此文为个人笔记,各为大神看到问题可以指出来,谢谢,也希望可以帮助到需要帮助的phper。
本作品采用《CC 协议》,转载必须注明作者和本文链接
可以看下 Laravel 项目开发规范 , 会有很大进步的哦~