下载图像后如何保存数据?

时间:2017-03-30 09:21:50

标签: php jquery laravel-5.2

我面临一个问题,我想在下载图像后保存数据。我的图像已成功下载,之后我想保留下载的历史记录。这是我的功能: -

enter code here
public function UserImageDownlaod($userid=null,$imageid=null){
    $imagedata = DB::table('alt_images')->where('id',$imageid)->first();
    $imagedata = json_decode(json_encode($imagedata),true);
    $destination = 'images/ContributorImages'.'/';
    $pathToFile = $destination.$imagedata['img'];
    return response()->download($pathToFile);  
    //Now i want to save the history of downloaded images
    $history= new DownloadHistory;
    $history->user_id = Auth::user()->id;
    $history->alt_image_id = $imageid;
    $history->save();
 }

现在你可以看到返回响应() - >下载($ pathToFile)行后我要保存历史数据。我想当用户点击OK按钮然后数据将保存在历史表中。谁能帮我。 enter image description here

1 个答案:

答案 0 :(得分:0)

您向我们展示的弹出窗口来自浏览器。此时,您会看到此弹出窗口,浏览器可能已经开始在后台下载该文件。由于这是您的浏览器的一部分,并且您没有关于按下确定/取消的任何回调,因此没有直接的方法来确定用户做了什么。

一个简单的解决方法是,在javascript中向用户显示一个警告框,并询问他是否真的要下载该文件。

<a href="{{ action(...) }}" onclick="confirm('are you sure?')">Download</a>