上傳圖片時,需注意事項
/** * 後臺上傳圖片 * type 1 為小程式圖片 */ public function actionAdd(){ if($_FILES && $_FILES["image"]['name']){ $request = Yii::$app->request; $root = '/mnt/tmpfile/static/'; $source_name = $_FILES["image"]['name']; $image_ext = explode('.',$source_name); if($request->post('type',0) == 1){ //儲存的目錄 $path = $root.'app/'.date('Ymd'); }else{ $dir_name = $request->post('dir_name',date('Ymd')); $path = $root.$dir_name; } if(!is_dir($path)){ mkdir($path,0777,true); } $file_name = date('YmdHis').'.'.$image_ext[1]; $flag = move_uploaded_file($_FILES["image"]['tmp_name'],$path.'/'.$file_name); if($flag){ $img_dir =str_replace('/mnt/tmpfile',$this->host,$path); Yii::$app->db->createCommand()->insert($this->table_name,[ 'name'=>$request->post('name',''), 'type'=>$request->post('type',1), 'url_big'=>$img_dir.'/'.$file_name, 'add_time'=>time(), 'source_name'=>$source_name ])->execute(); $this->redirect(Url::to(['index'])); }else{ throw new Exception('上傳失敗~'); } } return $this->render('add'); }
/** * 刪除 * @param $id * @return bool or string */ public function actionDel($id){ $id = Yii::$app->request->get('id',0); if(!$id){ echo json_encode(['status'=>0,'message'=>'無該資料']);exit; } $mess = ['status'=>0,'message'=>'刪除失敗~']; $curInfo = Yii::$app->db->createCommand("select * from ".$this->table_name.' where id ='.$id)->queryOne(); $image = str_replace($this->host,'/mnt/tmpfile',$curInfo['url_big']); $res = unlink($image);//注意,刪除的連結格式/mnt/tmpfile/20160503344/tete.png if($res){ $flag = Yii::$app->db->createCommand()->delete($this->table_name,['id'=>$id])->execute(); if($flag){ $mess = ['status'=>1,'message'=>'刪除成功~']; } } echo json_encode($mess);exit; }
<!-- 引入js--> <script src="/js/bootstrap-fileinput.js"></script> <!-- 引入css --> <style> .btn-file { position: relative; overflow: hidden; vertical-align: middle; } .btn-file > input { position: absolute; top: 0; right: 0; width: 100%; height: 100%; margin: 0; font-size: 23px; cursor: pointer; filter: alpha(opacity=0); opacity: 0; direction: ltr; } .fileinput { display: inline-block; margin-bottom: 9px; } .fileinput .form-control { display: inline-block; padding-top: 7px; padding-bottom: 5px; margin-bottom: 0; vertical-align: middle; cursor: text; } .fileinput .thumbnail { display: inline-block; margin-bottom: 5px; overflow: hidden; text-align: center; vertical-align: middle; } .fileinput .thumbnail > img { max-height: 100%; } .fileinput .btn { vertical-align: middle; } .fileinput-exists .fileinput-new, .fileinput-new .fileinput-exists { display: none; } .fileinput-inline .fileinput-controls { display: inline; } .fileinput-filename { display: inline-block; overflow: hidden; vertical-align: middle; } .form-control .fileinput-filename { vertical-align: bottom; } .fileinput.input-group { display: table; } .fileinput.input-group > * { position: relative; z-index: 2; } .fileinput.input-group > .btn-file { z-index: 1; } .fileinput-new.input-group .btn-file, .fileinput-new .input-group .btn-file { border-radius: 0 4px 4px 0; } .fileinput-new.input-group .btn-file.btn-xs, .fileinput-new .input-group .btn-file.btn-xs, .fileinput-new.input-group .btn-file.btn-sm, .fileinput-new .input-group .btn-file.btn-sm { border-radius: 0 3px 3px 0; } .fileinput-new.input-group .btn-file.btn-lg, .fileinput-new .input-group .btn-file.btn-lg { border-radius: 0 6px 6px 0; } .form-group.has-warning .fileinput .fileinput-preview { color: #8a6d3b; } .form-group.has-warning .fileinput .thumbnail { border-color: #faebcc; } .form-group.has-error .fileinput .fileinput-preview { color: #a94442; } .form-group.has-error .fileinput .thumbnail { border-color: #ebccd1; } .form-group.has-success .fileinput .fileinput-preview { color: #3c763d; } .form-group.has-success .fileinput .thumbnail { border-color: #d6e9c6; } .input-group-addon:not(:first-child) { border-left: 0; } </style> <form class="form-horizontal" role="form" method="post" action="<?=Url::to(['add'])?>" enctype='multipart/form-data' > <ul class="breadcrumb"> <li><a href="#">首頁</a></li> <li><a href="#">系統設定</a></li> <li class="active">上傳圖片</li> <a href="<?=Url::to(['index'])?>" class="btn btn-primary btn-sm pull-right">返回</a> </ul> <div class="form-group"> <label for="name" class="col-sm-2 control-label">名稱</label> <div class="col-sm-5"> <input type="text" class="form-control" name="name" placeholder="自定義名稱"> </div> </div> <div class="form-group"> <label for="name" class="col-sm-2 control-label">分類</label> <div class="col-sm-5"> <select name="type" class="form-control"> <option value="0">請選擇..</option> <option value="1">小程式</option> <option value="2">其他</option> </select> </div> </div> <div class="form-group " style="display:none;" id="dir_name" > <div class="col-sm-offset-2 col-sm-10">儲存的目錄: <input type="text" name="dir_name" value=""> </div> </div> <div class="form-group" id="uploadForm" enctype="multipart/form-data"> <div class="col-sm-offset-2 col-sm-10"> <div class="h4">圖片預覽</div> <div class="fileinput fileinput-new" data-provides="fileinput" id="exampleInputUpload"> <div class="fileinput-new thumbnail" style="width: 200px;height: auto;max-height:150px;"> <img id="picImg" style="width: 100%;height: auto;max-height: 140px;" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTQwIiBoZWlnaHQ9IjE0MCIgdmlld0JveD0iMCAwIDE0MCAxNDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjwhLS0KU291cmNlIFVSTDogaG9sZGVyLmpzLzE0MHgxNDAKQ3JlYXRlZCB3aXRoIEhvbGRlci5qcyAyLjYuMC4KTGVhcm4gbW9yZSBhdCBodHRwOi8vaG9sZGVyanMuY29tCihjKSAyMDEyLTIwMTUgSXZhbiBNYWxvcGluc2t5IC0gaHR0cDovL2ltc2t5LmNvCi0tPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbI2hvbGRlcl8xNWViYzM4ZTYwNSB0ZXh0IHsgZmlsbDojQUFBQUFBO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgT3BlbiBTYW5zLCBzYW5zLXNlcmlmLCBtb25vc3BhY2U7Zm9udC1zaXplOjEwcHQgfSBdXT48L3N0eWxlPjwvZGVmcz48ZyBpZD0iaG9sZGVyXzE1ZWJjMzhlNjA1Ij48cmVjdCB3aWR0aD0iMTQwIiBoZWlnaHQ9IjE0MCIgZmlsbD0iI0VFRUVFRSIvPjxnPjx0ZXh0IHg9IjQ1IiB5PSI3NC44Ij4xNDB4MTQwPC90ZXh0PjwvZz48L2c+PC9zdmc+" alt=""> </div> <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;"></div> <div> <span class="btn btn-primary btn-file"> <span class="fileinput-new">選擇檔案</span> <span class="fileinput-exists">換一張</span> <input type="file" name="image" id="picID" accept="image/gif,image/jpeg,image/x-png"> </span> <a href="javascript:;" class="btn btn-warning fileinput-exists" data-dismiss="fileinput">移除</a> </div> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-success">提交</button> </div> </div> </form> <script> $(".btn-success").click(function () { var name = $('input[name="name"]').val(); if(name =='' || name == undefined){ alert('名稱不能為空..') return false; } $('form[role="form"]').submit(); }) $('select[name="type"]').change(function () { var value = $('select[name="type"] option:selected').val(); if(value==2){ $('#dir_name').attr('style','display:block;'); }else{ $('#dir_name').attr('style','display:none;'); } }) </script>
相關推薦
上傳圖片時,需注意事項
/** * 後臺上傳圖片 * type 1 為小程式圖片 */ public function actionAdd(){ if($_FILES && $_FILES["image"]['name'
Ueditor在上傳圖片時,服務器返回502 bad gateway的填坑記
ueditor 502 iconv故事發生在2017.10.26下午,環宇同學跟我反應說在測試青羊雙創項目的後臺管理,發現在編輯園區信息時,想要上傳一堆圖片,用編輯器嘗試上傳圖片時,卻報了“上傳失敗,請重試”的錯,類似下圖:納尼?我...... 多麽正常的編輯器,我本地跑的好好的,我趕緊去試了一下,果然報錯,
在網路上使用圖片時,應當注意什麼?
一圖勝千言,圖片一直是網站資訊、商業宣傳中吸引使用者的重要元素。自媒體時代,網路圖片的低創作門檻隨之帶來了越來越多的侵權問題。我們一般釋出在網站、公眾號或其他對外宣傳資料上的文章都會配有圖片,但是由於釋出的圖片比較多不可能都自主設計、自主拍攝,難免會通過各種渠道“盜圖”,這樣會大大增加我們侵
vue上傳圖片時,console.log()圖片資訊遇到的坑
用vue開發專案時,有個上傳專案的功能 <input @change="uploadImages($event)" type="file" accept="image/jpeg,image/x-png,image/gif" id="" value="" />
java web上傳圖片時,顯示圖片
js指令碼<script> function setImagePreview() { var docObj = document.getElementById("doc"); var imgObjPreview = documen
上傳圖片時,在頁面進行預覽
前端頁面: <div class="container"> <form class="form-horizontal" enctype="multipart/for
在使用layui upload模組上傳圖片時,出現了request entity too large 413
使用layui upload模組上傳圖片時,報瞭如下錯誤: 剛開始懷疑是不是因為使用了jfinal 圖片上傳大小作了限制,初步檢查後,不是這個原因(因為圖片的大小沒有超過上傳的最大值大小)。 F12開啟瀏覽器控制檯,發現呼叫上傳介面的時候報瞭如下錯req
jQuery實現上傳圖片時,顯示圖片預覽效果
程式碼如下<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>
使用json方式上傳圖片時,發現上傳成功後,變成下載了json... 或者無法解析到返回的結果集!!!
問題描述:如題 PS:使用Struts框架!!! 解決方案: <result name="typename" type="json"><param name="noCache">true</param><param name="
上傳圖片時button按鈕隱藏,用做好的樣式
jsp:<div class="input-box"><span>主題首頁</span><div class="img-box"><img class="img-icon" src="${ctx}/${subject.p
UEditor上傳圖片後,展示的順序與選擇時順序不一致(多圖上傳)
UEditor多圖上傳時,由於後臺上傳介面返回的時間不同,會造成顯示上傳後的圖片與選擇時的圖片順序不一致的問題。 舉個栗子: 多圖上傳時,先後選擇了a.png和b.png,其中a.png大小為900k,b.png大小為5k,當上傳成功後點擊確認按鈕, 發現b
上傳圖片時等比縮放的一個小小算法
lba sim image 委托 fromfile tps 獲取 head 引用 protected void Button1_Click(object sender, EventArgs e) { int width = 300, h
使用Ueditor點擊上傳圖片時顯示延遲的問題
題解 項目 通過 多圖上傳 data- 結合 min input 答案 最近在做一個項目,需要用到Ueditor,但是在點擊上傳圖片的時候,總是隔了4-5秒才顯示文件框 查了一些資料,最後發現,只需在 修改:(1) dialog/images/image.js 把
上傳圖片時預覽
undefined kit 上傳 accep out 場景 用戶修改 firefox define 簡述 本文的使用場景主要是用戶修改頭像,選擇本地圖片後在頁面上面顯示選擇的圖片。使用jQuery+js實現。 1.首先,頁面上有一個input[type=‘f
上傳圖片時壓縮圖片 - 前端(canvas)做法
als ase java use reac ice efi 壓縮圖片 basic HTML前端代碼: <?php $this->layout(‘head‘); ?> <?php $this->layout(‘sidebar‘); ?>
上傳圖片時壓縮圖片 - 後端做法
rep create 路徑 creat 彩色 images rom sim 不同 /** * 函數:調整圖片尺寸或生成縮略圖 v 1.1 * @param $Image 需要調整的圖片(含路徑) * @param $Dw 調整時最大寬
檔案上傳下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的值?
一、問題描述 檔案上傳下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的有關使用者資訊的值?(比如:textfield、radio等屬性中的值) 二、解決方法 1、情況一:沒有對user物件進行封裝 方法:
springMVC MultipartFile 上傳圖片時修改圖片大小
1.引言 伺服器配置比較低,開啟網站時載入1MB+的圖片 速度很慢,影響客戶體驗。所以從網上找了java修改圖片大小的方法,這裡記錄一下 以備以後不時之需。修改之後的圖片大小在100kb左右 2.程式碼 @RequestMapping("/admin/fileUpload") @R
部分vivo和oppo手機,使用上傳圖片功能,可能會出現退出webview的現象(回退到app的入口頁面)
在公司的app裡面嵌入了一個h5頁面,h5頁面有個使用圖片上傳功能,上傳圖片出現閃退的現象 問題描述: vivo手機,在app內的wap頁面使用上傳圖片的功能,在選擇好圖片點選確認按鈕後,出現退出整個webview,回退到app該wap頁面的入口頁面,且app自動重新整理了該入口頁面
Java之~ 上傳 圖片壓縮,圖片壓縮,圖片旋轉方法工具類
package com.javajy.util; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Point; import jav