搜尋
首頁後端開發php教程WebUploader的使用
WebUploader的使用Jun 05, 2018 am 09:24 AM
web使用

這篇文章主要介紹了關於WebUploader的使用,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

var uploader = WebUploader.Uploader({     
    //几个常用的参数:swf,pick,formData,runtimeOrder  

    //所有参数列表  
    swf: 'path_of_swf/Uploader.swf',  
    dnd: '#dndArea', // [默认值:undefined] 指定Drag And Drop拖拽的容器,如果不指定,则不启动。  
    disableGlobalDnd: true,, // [默认值:false] 是否禁掉整个页面的拖拽功能,如果不禁用,图片拖进来的时候会默认被浏览器打开  
    paste: '#uploader', // [默认值:undefined] 指定监听paste事件的容器,如果不指定,不启用此功能。此功能为通过粘贴来添加截屏的图片。建议设置为document.body.  
    pick:'#filePicker',//也可以用下面的方式详细配置  
    // {Selector, Object}  [默认值:undefined] 指定选择文件的按钮容器,不指定则不创建按钮。  
    pick: {  
        id: '#filePicker',//Seletor|dom 指定选择文件的按钮容器,不指定则不创建按钮。注意 这里虽然写的是 id, 但是不是只支持 id, 还支持 class, 或者 dom 节点。  
        label: '点击选择图片',//请采用 innerHTML 代替  
        innerHTML: "点击选择图片",// 指定按钮文字。不指定时优先从指定的容器中看是否自带文字。  
        multiple:true //是否开起同时选择多个文件能力。  
    },  
    //限制上传的文件类型  
    accept: {  
        title: 'Images',// {String} 文字描述  
        extensions: 'gif,jpg,jpeg,bmp,png,rar',// {String} 允许的文件后缀,不带点,多个用逗号分割。  
        mimeTypes: 'image/gif,image/jpg,image/jpeg,image/bmp,image/png,.rar'// 多个用逗号分割。  
    },  
    // 设置缩略图。  
    thumb: {  
        width: 110,  
        height: 110,  
        // 图片质量,只有type为`image/jpeg`的时候才有效。  
        quality: 70,  
        // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.  
        allowMagnify: true,  
        // 是否允许裁剪。是否采用裁剪模式。如果采用这样可以避免空白内容。  
        crop: true,  
        // 为空的话则保留原有图片格式。  
        // 否则强制转换成指定的类型。  
        type: 'image/jpeg'  
    },  
    // 配置压缩的图片的选项。如果此选项为false, 则图片在上传前不进行压缩。  
    compress: {  
        width: 1600,  
        height: 1600,  
        // 图片质量,只有type为`image/jpeg`的时候才有效。  
        quality: 90,  
        // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.  
        allowMagnify: false,  
        // 是否允许裁剪。  
        crop: false,  
        // 是否保留头部meta信息。  
        preserveHeaders: true,  
        // 如果发现压缩后文件大小比原来还大,则使用原来图片  
        // 此属性可能会影响图片自动纠正功能  
        noCompressIfLarger: false,  
        // 单位字节,如果图片大小小于此值,不会采用压缩。  
        compressSize: 0  
    },   


    auto: true, // [默认值:false] 设置为 true 后,不需要手动调用上传,有文件选择即开始上传。  
    runtimeOrder: 'flash', // [默认值:html5,flash] 指定运行时启动顺序。默认会想尝试 html5 是否支持,如果支持则使用 html5, 否则则使用 flash.可以将此值设置成 flash,来强制使用 flash 运行时。  
    prepareNextFile:false, // [默认值:false] 是否允许在文件传输时提前把下一个文件准备好。 对于一个文件的准备工作比较耗时,比如图片压缩,md5序列化。 如果能提前在当前文件传输期处理,可以节省总体耗时。  
    chunked:false, // [默认值:false] 是否要分片处理大文件上传。  
    chunkSize: 512 * 1024,// [默认值:5242880] 如果要分片,分多大一片? 默认大小为5M.  
    chunkRetry:2, // [默认值:2] 如果某个分片由于网络问题出错,允许自动重传多少次?  
    threads:3, // [默认值:3] 上传并发数。允许同时最大上传进程数。  
    formData: {"test":"123123","shui":"ping"}, // [默认值:{}] 文件上传请求的参数表,每次发送都会发送此对象中的参数。  
    fileVal:"pictures", // [默认值:'file'] 设置文件上传域的name。  
    method :"POST", // [默认值:'POST'] 文件上传方式,POST或者GET。  
    sendAsBinary :false, // [默认值:false] 是否已二进制的流的方式发送文件,这样整个上传内容php://input都为文件内容, 其他参数在$_GET数组中。  
    fileNumLimit :10, // [默认值:undefined] 验证文件总数量, 超出则不允许加入队列。  
    fileSizeLimit : 200 * 1024 * 1024,    // 200 M  [默认值:undefined] 验证文件总大小是否超出限制, 超出则不允许加入队列。  
    fileSingleSizeLimit: 50 * 1024 * 1024,    // 50 M [默认值:undefined] 验证单个文件大小是否超出限制, 超出则不允许加入队列。  
    duplicate :true, // [默认值:undefined] 去重, 根据文件名字、文件大小和最后修改时间来生成hash Key.  
    disableWidgets: {String, Array}, // [默认值:undefined] 默认所有 Uploader.register 了的 widget 都会被加载,如果禁用某一部分,请通过此 option 指定黑名单。  });

後端php,用的laravel框架,很方便:

public function uploadFile(Request $request){
    set_time_limit(100);    // dd(request()->all());
    $type = request('type', 0);    
    if ($type == 1) {
            $rules = [            'document' => 'sometimes|required|file|mimes:word,ppt,pdf,jpg,png,jpeg|max:10240',
        ];
    } else {        
            $rules = [            'file' => 'required|image|max:2048',
        ];
    }    
    $validator = Validator::make($request->all(), $rules);    
    if ($validator->fails())
     {        
      $error_message = $validator->errors()->all();        
      return $type == 1 ? false : $this->outPutJson('', 501, $error_message);
    }
        $file = $type == 1 ? $request->file('document') : $request->file('file');    
        $save_path = 'courseware';    
        $mime_type = $file->getClientOriginalExtension();    //保存文件
    $save_name = date('Ymd_H_i_s_') . uniqid() . '.' . $mime_type;    
    $path = $file->storeAs($save_path, $save_name, 'ftp');    
    return $type == 1 ? $path : $this->outPutJson($path);
}

以上是WebUploader的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Web Speech API开发者指南:它是什么以及如何工作Web Speech API开发者指南:它是什么以及如何工作Apr 11, 2023 pm 07:22 PM

​译者 | 李睿审校 | 孙淑娟Web Speech API是一种Web技术,允许用户将语音数据合并到应用程序中。它可以通过浏览器将语音转换为文本,反之亦然。Web Speech API于2012年由W3C社区引入。而在十年之后,这个API仍在开发中,这是因为浏览器兼容性有限。该API既支持短时输入片段,例如一个口头命令,也支持长时连续的输入。广泛的听写能力使它非常适合与Applause应用程序集成,而简短的输入很适合语言翻译。语音识别对可访问性产生了巨大的影响。残疾用户可以使用语音更轻松地浏览

如何使用Docker部署Java Web应用程序如何使用Docker部署Java Web应用程序Apr 25, 2023 pm 08:28 PM

docker部署javaweb系统1.在root目录下创建一个路径test/appmkdirtest&&cdtest&&mkdirapp&&cdapp2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝到app目录下3.解压两个tar.gz文件tar-zxvfapache-tomcat-7.0.29.tar.gztar-zxvfjdk-7u25-linux-x64.tar.gz4.对解

web端是什么意思web端是什么意思Apr 17, 2019 pm 04:01 PM

web端指的是电脑端的网页版。在网页设计中我们称web为网页,它表现为三种形式,分别是超文本(hypertext)、超媒体(hypermedia)和超文本传输协议(HTTP)。

深入探讨“高并发大流量”访问的解决思路和方案深入探讨“高并发大流量”访问的解决思路和方案May 11, 2022 pm 02:18 PM

怎么解决高并发大流量问题?下面本篇文章就来给大家分享下高并发大流量web解决思路及方案,希望对大家有所帮助!

web前端和后端开发有什么区别web前端和后端开发有什么区别Jan 29, 2023 am 10:27 AM

区别:1、前端指的是用户可见的界面,后端是指用户看不见的东西,考虑的是底层业务逻辑的实现,平台的稳定性与性能等。2、前端开发用到的技术包括html5、css3、js、jquery、Bootstrap、Node.js、Vue等;而后端开发用到的是java、php、Http协议等服务器技术。3、从应用范围来看,前端开发不仅被常人所知,且应用场景也要比后端广泛的太多太多。

web前端打包工具有哪些web前端打包工具有哪些Aug 23, 2022 pm 05:31 PM

web前端打包工具有:1、Webpack,是一个模块化管理工具和打包工具可以将不同模块的文件打包整合在一起,并且保证它们之间的引用正确,执行有序;2、Grunt,一个前端打包构建工具;3、Gulp,用代码方式来写打包脚本;4、Rollup,ES6模块化打包工具;5、Parcel,一款速度极快、零配置的web应用程序打包器;6、equireJS,是一个JS文件和模块加载器。

Python轻量级Web框架:Bottle库!Python轻量级Web框架:Bottle库!Apr 13, 2023 pm 02:10 PM

和它本身的轻便一样,Bottle库的使用也十分简单。相信在看到本文前,读者对python也已经有了简单的了解。那么究竟何种神秘的操作,才能用百行代码完成一个服务器的功能?让我们拭目以待。1. Bottle库安装1)使用pip安装2)下载Bottle文件https://github.com/bottlepy/bottle/blob/master/bottle.py2.“HelloWorld!”所谓万事功成先HelloWorld,从这个简单的示例中,了解Bottle的基本机制。先上代码:首先我们从b

web浏览器是什么web浏览器是什么Sep 26, 2022 pm 05:00 PM

web浏览器是指“网页浏览器”,是一种用来检索、展示以及传递Web信息资源的应用程序;简单来说就是是用来浏览网络页面的软件。web浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。