laravel上传图片调用接口,使用formData 上传图片 展示在本页面

本文介绍了一个使用HTML表单和JavaScript实现的文件上传功能,并详细展示了如何通过PHP进行文件的有效验证和安全存储。此外,还提供了AJAX异步上传的实现方式,确保用户交互体验的同时保证了文件上传的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<form id= "uploadForm">
    <p >上传文件: <input type="file" name="file"/></p>
    <input type="button" value="上传" onclick="doUpload()" />
</form>
<script src="./js/jq.js"></script>
<script>
    function doUpload() {
        var formData = new FormData($( "#uploadForm" )[0]);
        var url = 'http://localhost/demo/laravel/public/exam2_file';
        formData.append("url",url);
        $.ajax({
            url: 'exam2_file' ,
            type: 'POST',
            data: formData,
            async: false,
            cache: false,
            contentType: false,
            dataType:'json',
            processData: false,
            success: function (returndata) {
//                alert(returndata.data);
                $("#aaa").attr('src','./uploads/'+returndata.data);

            },
            error: function (returndata) {
//                alert(returndata.data);
                $("#aaa").attr('src','./uploads/'+returndata.data);

            }
        });
    }
</script>
<img src="" alt="" id="aaa">
{{--{!! Form::open(['url' => 'foo/bar']) !!}--}}
{{--//--}}
{{--{!! Form::close() !!}--}}


public function exam2_file()
{
    $n_file = Input::file("file");
    $url = Input::get();
    if($n_file->isValid()){
        //获取文件名称
        $clientName = $n_file -> getClientOriginalName();
        $realPath = $n_file -> getRealPath();
        //获取图片格式
        $entension = $n_file -> getClientOriginalExtension();
        //图片保存路径
        $mimeTye = $n_file -> getMimeType();
        $newName = base64_encode(rand(10000000,999999999)).'.'.$entension;
        $path = $n_file -> move('./uploads',$newName);
        if($path){
            $data['code']='0';
            $data['msg']='ok';
            $data['data']=$newName;
            echo json_encode($data);
        }else{
            $data['code']='1';
            $data['msg']='fail';
            echo json_encode($data);
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值