# 文件上傳
`YznCMS`開發框架支持將文件、圖片、視頻、壓縮包等文件快速的上傳至本地服務器或云存儲。
### 上傳示例
```
<div class="layui-form-item">
<label class="layui-form-label layui-form-item-required">圖片</label>
<div class="layui-input-block">
<div class="layui-col-xs4">
<input type="text" name="row[pic]" id="c-pic" value="" class="layui-input">
</div>
<button type="button" class="layui-btn faupload" id="faupload-pic" data-multiple="false" data-input-id="c-pic" data-preview-id="p-pic" data-type="image"><i class="layui-icon layui-icon-upload"></i> 上傳</button><button type="button" class="layui-btn fachoose" data-multiple="false" data-mimetype="image" data-input-id="c-pic" id="fachoose-c-pic"><i class="iconfont icon-other"></i> 選擇</button>
<ul class="layui-row list-inline plupload-preview" id="p-pic"></ul>
</div>
</div>
```
以上代碼會生成一個input文本框、一個上傳按鈕、一個選擇按鈕和一個預覽的DIV
| 類型 | 說明 |
| --- | --- |
| input文本框 | 用于回傳上傳后返回的圖片鏈接,文本框`id`屬性是必填,這里的`id`是`c-pic` |
| 上傳按鈕 | 用于點擊后上傳文件,參數請參考下方的上傳按鈕屬性介紹|
| 選擇按鈕 | 用于點擊后選擇已經上傳的文件,參數請參考下方的選擇按鈕屬性介紹 |
| 預覽區域 | 用于預覽上傳或選擇文件后的預覽。`id`屬性是必選的,這里的`id`是`p-pic` |
## 大附件上傳,方式一(修改配置)
要上傳100MB的附件,你需要同時配置PHP和Nginx。
首先,配置PHP的php.ini文件, 找到以下配置項,并進行相應的修改:
* `upload_max_filesize`:設置為100M或更大的值,例如:`upload_max_filesize = 100M`
* `post_max_size`:設置為比`upload_max_filesize`更大的值,例如:`post_max_size = 105M`
* `max_execution_time`:設置為較大的值,以確保上傳過程不會超時,例如:`max_execution_time = 300`
接下來,配置Nginx的nginx.conf文件,找到server塊,并添加以下配置項:`client_max_body_size 100M;`
## 大附件上傳,方式二(分片上傳)
如果需要啟用分片上傳,必須客戶端和服務端同時開啟。首先找到`application/config/app.php`,修改其中的`chunking`值為`true`。
其次給按鈕添加`data-chunking=true`屬性即可,如果提示文件過大,可以再添加`data-maxsize="1024M"`來控制允許上傳的文件大小。
### 按鈕屬性
上傳按鈕支持屬性
| 屬性 | 示例值 | 說明 |
| --- | --- | --- |
| data-multipart | {"key1":"value1"} | 用于上傳時附加額外的參數信息 |
| data-input-id | c-pic | 用于填充返回URL地址的設文本框 |
| data-mimetype | image/gif,image/jpeg,image/png,image/jpg,image/bmp | 用于過濾允許上傳的文件類型,支持mimetype或文件后綴名 |
| data-multiple | false | 是否支持多圖或多文件模式 |
| data-preview-id | p-pic | 用于預覽返回URL地址的DIV |
| data-maxsize | 10M | 用于限制最大可上傳的文件大小 |
| data-maxcount | 1 | 用于限制最大可上傳的文件數量 |
| data-timeout | 60000 | 用于設定上傳超時時長,`60000`表示`60`秒,默認為`30000`,表示`30`秒 |
| data-chunking | true | 是否啟用分片上傳 |
| data-chunk-size | 2097152 | 分片單片文件大小 |
| data-resize-quality | 0.8 | 默認不壓縮,只有當設置`resizeWidth`或`resizeHeight`時才壓縮,設置上傳圖片的壓縮品質 |
| data-resize-width | 1024 | 默認為`null`不剪裁 |
| data-resize-height | 768 | 默認為`null`不剪裁 |
選擇按鈕支持屬性
| 屬性 | 示例值 | 說明 |
| --- | --- | --- |
| data-input-id | c-pic | 用于填充返回URL地址的設文本框 |
| data-mimetype | image/gif,image/jpeg,image/png,image/jpg,image/bmp | 用于過濾允許上傳的文件類型,支持mimetype或文件后綴名 |
| data-multiple | false | 是否支持多圖或多文件模式 |
| data-preview-id | p-pic | 用于預覽返回URL地址的DIV |
- 序言
- 使用條款
- 安裝
- 環境搭建
- 目錄結構
- 鉤子和行為
- 表單生成
- 數據限制
- 命令行
- 一鍵生成CRUD
- 一鍵生成菜單
- 一鍵安裝
- 系統配置
- 常規字段
- 特殊字段1:下拉框(高級)字段
- 特殊字段2:自定義字段
- 特殊字段3:自定義多圖片
- 系統函數/類
- 函數說明
- cache - 緩存管理
- thumb - 獲取縮略圖
- str_cut - 字符截取
- 郵箱/短信
- 插件使用說明
- cms內容管理【cms】
- 變量/常量
- 函數
- getCategory - 欄目獲取
- catpos - 面包屑
- seo - 生成SEO
- buildCatUrl - 生成欄目URL
- buildContentUrl - 創建內容鏈接
- 標簽
- 公共參數
- 欄目標簽
- 列表標簽
- 上一頁標簽
- 下一頁標簽
- Tags標簽
- 萬能標簽
- 原生標簽
- 搜索頁
- 篩選頁
- 內容詳情頁
- 模板
- 技巧/問題
- 將CMS路由設置更簡潔
- 外鏈和單頁如何增加列表類型的子欄目
- 如何合理設置SEO
- 實現電腦和手機模板分離
- 敏感詞檢測
- 欄目授權不全
- 內容頁分頁
- 分頁偽靜態
- tag標簽不支持特殊字符
- 部分虛擬主機tags頁面報錯
- 循環表格
- 二級目錄搭建知識點
- 閱讀收費
- 會員插件【member】
- 介紹
- 自定義表單【formguide】
- 調用方式
- 模板
- 支付插件【pay】
- 支付寶
- 微信
- 常見問題
- 接口文檔【apidoc】
- 簡介
- 配置
- 使用
- 萬能采集【collection】
- 采集列表規則
- 采集內容規則
- 關于圖片
- 案例一:采集yzncms論壇
- cms小程序【wxcms】(重構已下架)
- 前端
- H5設計【diywap】
- 返回頂部【returntop】
- 通用數據導出【dataoutput】
- 多通道短信【easysms】
- 塞郵郵箱【saiyouems】
- 第三方登錄【synclogin】
- 中文分詞【getwords】
- QQ客服【kefu】
- 地圖位置【address】
- 智能人機驗證【vaptcha】
- 行為驗證碼【ajcaptcha】
- 數據轉換【v9toyzn】
- 數據轉換【dedetoyzn】
- 百度收錄查詢【baidurecord】
- 蜘蛛訪問統計【spider】
- editormd編輯器【editormd】
- 敏感詞檢測【sensitive】
- 郵箱發送【phpmailer】
- 內容收藏【favorite】
- 隊列插件【queue】
- 七牛云【qiniu】
- 阿里云oss【alioss】
- 騰訊云【cos】
- 迅搜全文檢索【xunsearch】
- 評論插件【comments】
- 網頁即時通訊【webim】(重構已下架)
- 生成js
- window使用
- linux使用(推薦)
- 常見問題
- 友情鏈接【links】
- 考試插件【kaoshi】(暫停)
- 會員邀請【invite】
- 快遞查詢插件【expressquery】
- 禮品卡提貨系統【pickup】
- 地區插件【area】
- IP歸屬地查詢【ipregion】
- 百度統計插件【baidutongji】
- 消息通知【notice】
- 微信管理【wechat】
- 在線投票系統【vote】
- 前端&組件
- 后臺前端框架
- 文件上傳
- table數據表格
- auth權限驗證
- 動態顯示(Favisible)
- 動態下拉(SelectPage)
- 鍵值組件(Fieldlist)
- uniapp教程
- 常見問題
- YznCMS開發遇到錯誤怎么辦?(新手必看)
- 關閉調試模式
- 偽靜態(URL重寫)
- 虛擬主機不支持綁定public的方法
- 各類虛擬主機偽靜態使用注意事項
- 百度編輯器多圖片上傳被壓縮
- 如何去除訪問鏈接中的index.php
- 后臺路徑admin.php修改
- 后臺密碼忘記重置方法
- 寶塔面板一鍵部署
- 后臺登錄時驗證碼不顯示
- 小程序圖片不顯示
- 如何自定義404頁面顯示模板
- 管理員登錄時提示請于1天后再嘗試登錄
- composer
- composer簡介
- 內置composer
- 各大廠商鏡像地址
- 常用命令
- 拓展知識
- 助手類
- thinkphp維護
- 插件開發
- 目錄結構
- 數據庫
- 測試數據
- 插件信息
- 插件配置
- 核心文件
- 插件函數
- ??開發者入駐
- 申請入駐
- 建立私庫
- 插件入駐流程
- 模板入駐流程
- 安全建議
- 更新日記和補丁包