laravel框架多文件上传

1、首先先在laravel根目录下执行 $ php artisan storage:link ,产生映射文件

2、编写controller层

// 文件上传
    public function upload(Request $request){
        // 判断是否有上传文件字段
        if ( $request->file() ){
            //定义一个空数组存放文件列表
            $files = [];
            // 循环获取所有文件字段
            foreach ($request->allFiles() as $file){
                // 定义一个空数组,方便与储存其它字段
                $obj = [];
                //将图片存储到了 ../storage/app/public/product/ 路径下
                $path = $file->store(‘public/product/‘.date(‘Y-m-d‘));
                $path = str_replace(‘public‘,‘‘,$path);
                $obj[‘url‘]= asset(‘storage‘.$path);
                // 赋值给对象
                $files[] = $obj;
            }
            return $this->responseMsg( 0, ‘success‘, $files);
        }else{
            return $this->responseMsg( -2, ‘请上传文件‘, null);
        }
    }

    // 通用的返回格式
    public function responseMsg($code, $msg, $data){
        return response()->json([
            ‘code‘ => $code, // 0:成功,-1:未登录,-2:错误
            ‘msg‘  => $msg,
            ‘data‘ => $data
        ]);
    }

3、编写路由

// 文件上传
Route::post(‘upload‘, ‘[email protected]‘);

4、用 postman 模拟请求,注意红框部分,必须要两个不一样的字段才能产生两个文件

5、查看 ./storage/app/public/ 文件夹

6、 前端代码实现,使用框架为 axios

var formData = new FormData()
                for (let i = 0; i < _self.previewUrl.length; i++) {
                    // _self.previewUrl 为一个数组,格式:[{file: FileObject}],file字段的值为单个文件的对象
                    formData.append(‘file‘+i, _self.previewUrl[i].file);
                }
                this.axios.post(‘/upload‘, formData, {
                    headers:{
                        "Content-Type":"multipart/form-data"
                    }
                }).then((res)=>{
                    console.log(res.data);
                });

原文地址:https://www.cnblogs.com/zion0707/p/12084373.html

时间: 2024-11-02 14:44:43

laravel框架多文件上传的相关文章

php laravel 框架 之文件上传

客户端 <form method="POST" action="" enctype="muitipart/form-data"> <input type="file" name="myfile" /> <input type="submit" name="submit" value="Submit" /> <

笨鸟先飞之Java(一)--使用struts2框架实现文件上传和下载

不管是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个常用功能会有很多种解决方式,但是struts2的框架却能给我们一个比较简单的方式,下面就一起来看吧: 文件上传: 首先来看实现上传功能的表单,Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType=&q

笨鸟先飞之Java(一)--使用struts2框架实现文件上传

无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: 文件上传: 首先来看实现上传功能的表单.Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin

springboot框架,文件上传问题===org.springframework.web.HttpMediaTypeNotSupportedException: Content type &#39;multipart/form-data;

使用IDEA开发springboot项目,需求中要提交数据项和文件上传,同时接收实体bean对象和文件,后台Controller接收配置方式: Controller代码如下: 1 @RequestMapping(value="/comment",method = RequestMethod.POST) 2 public @ResponseBody RetResult saveIndustryComment(HttpServletRequest request,@RequestParam

【转】NodeJS教程--基于ExpressJS框架的文件上传

本文是翻译的一篇文章,原文地址:Handle File Uploads in Express (Node.js). 在NodeJS发展早期上传文件是一个较难操作的功能,随后出现了formidable.它开了一个好头,然而上传文件仍然不是那么容易.在此之后又出现了基于原文作者的教程(tutorial on handling POST requests in Express)而实现的工具connect-form.它让文件上传的过程显得简单了一些. 随着NodeJS社区的飞速发展,让上传文件这个功能变

基于spring 3.0mvc 框架的文件上传实现

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术.Spring MVC 分离了控制器.

Struts 框架 之 文件上传下载案例

Struts 框架 文件上传 1. 先准备 Struts 环境 (我使用的是struts 2.3.4版本) 导jar包:   jar包的具体作用在前面的文章有讲. 配置 web.xml <!-- Struts核心拦截器 --> <filter> <filter-name>Struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepare

Android(java)学习笔记214:开源框架的文件上传(只能使用Post)

1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Apache给我们提供了完善的框架,我们只要引入commons-fileupload-1.2.2.jar  和  commons-io-2.0.1.jar就可以使用这个Apache给我们封装好的框架,这两个jar放到如下目录下: WebContent/WEB-INF/lib/ 引入jar包之后,接下来我