通过Laravel中的中间服务器将文件上传到S3

时间:2016-02-27 11:13:16

标签: php laravel curl amazon-s3

我为S3提供了一项服务,通过该服务,多个应用程序可以通过S3上传文件。

上传文件的链接如下:

http://localhost:8000/api/v1/s3/add

从我的一个应用程序中,我正在尝试做这样的事情:

public function upload(Illuminate\Http\Request $request) {
       $curl_add_file = curl_init('http://localhost:8000/api/v1/s3/add');
       $file = $request->file('file_image');

       $data['doc']  = $file;

       curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type:multipart/form-data'
        ));
        curl_setopt($ch, CURLOPT_URL,"http://localhost:8000/api/v1/s3/add");
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
        echo curl_exec($request);
}

在S3服务控制器上,我这样做:

public function saveToS3(Illuminate\Http\Request $request) {
    $request->hasFile('doc') {
        //Code to save on S3
    } else {
        //echo 'false';
    }
}

它总是转到else语句并返回false。

当我调试$ request包含的内容时,它为我提供了一个临时位置,类似于doc的值:'\ opt \ lamp \ temp \ Ph6FG7n'

我错过了什么? 如何使用curl将文件发送到其他服务?

我在使用Service for S3这里不是我的所有应用程序都在Laravel上;有些人正在使用Core PHP。

0 个答案:

没有答案
相关问题