问题描述:用laravel写了一个上传csv文件到s3的功能,在本地运行正常,但是到了测试环境却无法将上传成功后返回的s3链接直接下载,而是在浏览器中直接显示csv文件内容:

原代码:

Storage::disk('s3FileUpload')->put($path, file_get_contents(stream_get_meta_data($temp)['uri']), 'public');

改动后代码:(增加ContentType=> binary/octet-stream)

Storage::disk('s3FileUpload')->put($path, file_get_contents(stream_get_meta_data($temp)['uri']), ['visibility' => 'public','ContentType' => 'binary/octet-stream'
]);

完整代码:

     $temp = tmpfile();$queryList = $request->input();$ids       = $request->get('ids', []);//检索数据$products = Product::select('test')->when(!empty($ids), function ($query) use ($ids) {return $query->whereIn('id', $ids);}, function ($query) use ($queryList) {if (empty($queryList)) {return $query->whereRaw('1=0');}return $query->applyFilter($queryList);})->orderBy('id', 'desc')->get()->toArray();if(empty($products)){return $this->responseError('products list is empty');}$productsExportList = $this->getProductsExportList($products);foreach ($productsExportList as $data) {fputcsv($temp, $data);}$path = 'labels/'.date("Y/m/d/"). uniqid('', true) . '.csv';Storage::disk('s3')->put($path, file_get_contents(stream_get_meta_data($temp)['uri']), ['visibility' => 'public','ContentType' => 'binary/octet-stream']);fclose($temp);$url = Storage::disk('s3')->url($path);return $this->responseSuccess(["url" => $url], "success");

laravel上传文件到s3,打开链接无法下载而是直接在浏览器中显示内容相关推荐

  1. laravel 上传文件的方式汇总

    目录 一.上传文件的方法 1.上传到指定驱动和根目录 2.上传到站点目录,通过移动文件方式上传 二.上传文件的例子 1.注册路由 2.添加模型类 (1)产生模型 (2)模型属性 3.控制器方法 4.表 ...

  2. laravel上传文件报错:413 Request Entity Too Large

    上传图片的时候,是用laravel自带的上传图片的方法,一下气上传了20张,结果就无情报错: 413 Request Entity Too Large,后面查一下,这个报错信息是nginx报的错误,不 ...

  3. php上传文件到七牛云源码,laravel上传文件到七牛云存储

    public function store(Request $request) { $file = $request->file('photo') ; if(!$file->isValid ...

  4. 华为服务器上传文件后怎么通过链接查看,远程服务器文件上传后的操作

    远程服务器文件上传后的操作 内容精选 换一换 本节指导您基于Linux操作系统环境完成镜像文件快速导入,推荐使用云平台的EulerOS云服务器作为转换镜像格式和生成位表文件的环境.Linux操作系统环 ...

  5. aws cli 上传文件到s3命令_使用 AWS CLI 分段上传到 Amazon S3

    如何使用 AWS CLI 将文件分段上传到 Amazon S3? 上次更新时间:2020 年 11 月 10 日 我想将一个大文件作为多个部分或使用分段上传复制到 Amazon Simple Stor ...

  6. Java 实现上传文件到FTP和从FTP下载文件

    在eclipse 中创建项目,并将commons-net-3.6.jar包复制到项目中 commons-net-3.6.jar:链接:https://pan.baidu.com/s/1iz0862TX ...

  7. 使用scp上传文件到服务器或从服务器下载文件(支持跨越跳板机)

    转载 原文链接 原贴写的很好,我转载懒得排版了 scp是什么? 使用man scp可以看到scp的解释『scp - secure copy (remote file copy program)』,sc ...

  8. vue php 文件上传,使用vue.js和laravel上传文件

    我尝试在vue.js和laravel中上传pdf文件,files_array是这样定义的:data(){ return { formData: new Form ({ files_array:'', ...

  9. AWS 获取AccessKey和密钥,上传文件到s3

    1,获取Accesskey和secret  打开AWS的网页,右上角那里,我的账户下面,切换角色上面,我的安全凭证 ,点击进去就会得到如下页面,然后创建访问密钥,就可以了,保存起来,或者下载下来,因为 ...

  10. AWS EC2上传文件到S3(python boto)

    1.获得所有存储桶 >>>import boto.s3.connection >>>conn=boto.s3.connect_to_region('cn-north ...

最新文章

  1. Cissp-【第3章 安全工程】-2021-2-20(248页-268页)
  2. [Luogu] P4198 楼房重建
  3. Laravel框架中Validor中错误信息$error的输出
  4. Session id的存储
  5. java 混码_kotlin java 混合代码 maven 打包实现
  6. bootstrap table 列拖动变宽
  7. robot 用AP连PC
  8. Github版本控制——基础操作
  9. rapidxml对unicode的支持
  10. Python:hashlib加密,flask模块写接口
  11. 浏览器的NPAPI插件技术不要学了,已经淘汰几年了
  12. mysql5.7备份
  13. 65nm工艺下MOM电容详解与蒙特卡洛仿真及calibre xRC
  14. Linux 如何查看文件夹的大小(du、df、ls、find)
  15. 移动硬盘只显示盘符,拒绝访问解决方法
  16. MySQL 常用命令汇总
  17. 第29课:来自未来的简历
  18. 云片短信平台java案例,Java使用云片网API发送短信验证码
  19. win8.1下安装vc6
  20. Java中就什么是映射的简单理解

热门文章

  1. java 解析xml报文解析_开源分布式中间件 DBLE Server.xml 配置解析
  2. spark 通过打散热点key解决数据倾斜问题
  3. 阿里云Linux服务器配置Java环境
  4. python判断字符串相等_“python”中怎么判断字符串相等?
  5. Java代码增加回滚6_如何编写取消按钮的代码以撤消/回滚添加和更新正在进行的行4gl...
  6. 根据pid查端口_PID控制原理:看完这几个故事你就明白了
  7. python代码规范软件_python代码规范
  8. [中铁六局北京铁建公司]举办的演讲比赛所使用的界面(现场抓拍照片)
  9. 运维 ansible工具
  10. 记录一次es head测试使用说明