當前位置:首頁 » 文件管理 » jq圖片上傳插件

jq圖片上傳插件

發布時間: 2022-08-30 13:03:58

Ⅰ 用js、jquery如何實現上傳圖片的預覽

$("#btnLoadPhoto").upload({ url: "../UploadForms/RequestUpload.aspx?action=photo", type: "json", callback: calla });
//獲得表單元素
HttpPostedFile oFile = context.Request.Files[0];
//設置上傳路徑
string strUploadPath = "temp/";
//獲取文件名稱
string fileName = context.Request.Files[0].FileName;
補充:JQuery是繼prototype之後又一個優秀的javascript庫。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及後續版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML(標准通用標記語言下的一個應用)、events、實現動畫效果,並且方便地為網站提供AJAX交互。jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html裡面插入一堆js來調用命令了,只需要定義id即可。

Ⅱ jQuery插件ocupload的問題!我使用ocupload做圖片上傳,發現當重復上傳同一圖片,插件就會失效。

對的,不只是上傳圖片時會出現這個問題,上傳任何文件時都會有這個問題,就是:連續兩次上傳文件名時,頁面不會發送請求。
後來試了下火狐不會這樣,只有谷歌會這樣……不知道咋解決,大家有好辦法嗎?

Ⅲ jquery圖片上傳插件哪個最好

Web Uploader 項目,符合你的要求。 1、引入資源 使用Web Uploader文件上傳需要引入三種資源:JS, CSS, SWF。 2、Html 首先需要准備一個按鈕,和一個用來存放添加的文件信息列表的容器。

Ⅳ yii2高級框架怎麼使用jquery file upload上傳插件

// 視圖文件
use kartik\file\FileInput;
<?php $form = ActiveForm::begin([
'options' => ['enctype'=>'multipart/form-data'],
]); ?>
<?php
echo $form->field($model, 'banner_url[]')->label('banner圖')->widget(FileInput::classname(), [
'options' => ['multiple' => true],
'pluginOptions' => [
// 需要預覽的文件格式
'previewFileType' => 'image',
// 預覽的文件
'initialPreview' => ['圖片1', '圖片2', '圖片3'],
// 需要展示的圖片設置,比如圖片的寬度等
'initialPreviewConfig' => ['width' => '120px'],
// 是否展示預覽圖
'initialPreviewAsData' => true,
// 非同步上傳的介面地址設置
'uploadUrl' => Url::toRoute(['/goods/async-image']),
// 非同步上傳需要攜帶的其他參數,比如商品id等
'uploadExtraData' => [
'goods_id' => $id,
],
'uploadAsync' => true,
// 最少上傳的文件個數限制
'minFileCount' => 1,
// 最多上傳的文件個數限制
'maxFileCount' => 10,
// 是否顯示移除按鈕,指input上面的移除按鈕,非具體圖片上的移除按鈕
'showRemove' => true,
// 是否顯示上傳按鈕,指input上面的上傳按鈕,非具體圖片上的上傳按鈕
'showUpload' => true,
//是否顯示[選擇]按鈕,指input上面的[選擇]按鈕,非具體圖片上的上傳按鈕
'showBrowse' => true,
// 展示圖片區域是否可點擊選擇多文件
'browseOnZoneClick' => true,
// 如果要設置具體圖片上的移除、上傳和展示按鈕,需要設置該選項
'fileActionSettings' => [
// 設置具體圖片的查看屬性為false,默認為true
'showZoom' => false,
// 設置具體圖片的上傳屬性為true,默認為true
'showUpload' => true,
// 設置具體圖片的移除屬性為true,默認為true
'showRemove' => true,
],
],
// 一些事件行為
'pluginEvents' => [
// 上傳成功後的回調方法,需要的可查看data後再做具體操作,一般不需要設置
"fileuploaded" => "function (event, data, id, index) {
console.log(data);
}",
],
]);
?>
<?php ActiveForm::end(); ?>

如上所述,基本上都是組件 FileInput的基本屬性和設置,我們這里也僅僅羅列了一些常用的屬性介紹,如有所需,可查看文檔看屬性的詳細說明。
按照如上所配置,我們預覽下效果圖
感覺上效果很是可以,在開始寫php代碼實現之前,我們先在controller中實現 initialPreview和 initialPreviewConfig的配置
假設上面的視圖文件是用戶展示商品圖片的詳情頁,當前controller是指渲染視圖文件的controller,則需要在controller中獲取商品關聯的圖片,用於展示或者說用於商品圖片的刪除\新增操作。
// 假設商品的圖片是 $relationBanners,$id是商品的id
// $relationBanners的數據結構如:
/**
* Array
*(
* [0] => Array
* (
* [id] => 1484314
* [goods_id] => 1173376
* [banner_url] => ./uploads/20160617/146612713857635322241f2.png
* )
*
*)
*/
$relationBanners = Banner::find()->where(['goods_id' => $id])->asArray()->all();
// 對商品banner圖進行處理
$p1 = $p2 = [];
if ($relationBanners) {
foreach ($relationBanners as $k => $v) {
$p1[$k] = $v['banner_url'];
$p2[$k] = [
'url' => Url::toRoute('/banner/delete'),
'key' => $v['id'],
];
}
}
$model = new Banner;
return $this->render('banner', [
'model' => $model,
'p1' => $p1,
'p2' => $p2,
'id' => $id
]);

你可以看到p1是圖片地址的集合,這里用於賦值給initialPreview
p2是一組url和key的集合,這里用於賦值給initialPreviewConfig
其中url是移除圖片的請求地址
key是每個圖片對應的id
此時我們視圖文件中的pluginOptions應該是這樣的
'pluginOptions' => [
// other code
'initialPreview' => $p1,
'initialPreviewConfig' => $p2,
// other code
],

注意設置initialPreviewAsData為true哦,不然等會創建圖片後,預覽圖不會顯示。
我們在一開始配置文件中配置了uploadUrl,該參數是非同步上傳的圖片地址。
現在看上傳界面應該是光禿禿的,我們選擇一張圖片後效果如上圖2所示,
需要提醒的是,每張小圖片上的上傳是上傳對應的小圖片,input框(右下角)的上傳和移除都是針對所有的圖片的操作,一張也是上傳,十張也是上傳,我們這里只對多圖上傳的操作做一個必要的說明。
圖片上傳的地址以及上傳需要的額外參數(如商品id)我們都准備好了,額外的參數配置項是uploadExtraData,具體見上面視圖文件中的配置。
接著我們看 /goods/async-image 非同步上傳的程序實現
public function actionAsyncImage ()
{
// 商品ID
$id = Yii::$app->request->post('goods_id');
$p1 = $p2 = [];
if (empty($_FILES['Banner']['name']) || empty($_FILES['Banner']['name']['banner_url']) || !$id) {
echo '{}';
return;
}
for ($i = 0; $i < count($_FILES['Banner']['name']['banner_url']); $i++) {
$url = '/banner/delete';
$imageUrl = ''; //調用圖片介面上傳後返回圖片地址
// 圖片入庫操作,此處不可以批量直接入庫,因為後面我們還要把key返回 便於圖片的刪除
$model = new Banner;
$model->goods_id = $id;
$model->banner_url = $imageUrl;
$key = 0;
if ($model->save(false)) {
$key = $model->id;
}
// $pathinfo = pathinfo($imageUrl);
// $caption = $pathinfo['basename'];
// $size = $_FILES['Banner']['size']['banner_url'][$i];
$p1[$i] = $imageUrl;
$p2[$i] = ['url' => $url, 'key' => $key];
}
echo json_encode([
'initialPreview' => $p1,
'initialPreviewConfig' => $p2,
'append' => true,
]);
return;
}

到此,單圖和多圖上傳的工作我們也就完成了。
為了實現圖片的刪除效果,這里可以先上傳兩張圖片。你可以單張上傳也可以多張上傳。
上傳成功後你可以刷新當前頁面,因為一開始我們就在controller中實現了圖片的預覽工作,所以理應會展示我們已經上傳的兩張圖片。
按照我們的配置,現在的預覽圖應該是這樣的。
不說廢話,我們看圖片刪除的程序(/banner/delete)實現
public function actionDelete ()
{
if ($id = Yii::$app->request->post('key')) {
$model = $this->findModel($id);
$model->delete();
}
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return ['success' => true];
}

Ⅳ JQuery上傳插件Uploadify重命名問題

在伺服器端文件保存以後,應該返迴文件相關的信息,包括新文件名。在js中解析這個返回的信息,並獲得正確的文件名。

Ⅵ 請問ASP要如何使用jquery的插件uploadify,官網上的只有PHP的

Uploadify簡單說來,是基於Jquery的一款文件上傳插件。它的功能特色總結如下:

支持單文件或多文件上傳,可控制並發上傳的文件數

在伺服器端支持各種語言與之配合使用,諸如PHP,.NET,Java……

通過參數可配置上傳文件類型及大小限制

通過參數可配置是否選擇文件後自動上傳

易於擴展,可控制每一步驟的回調函數(onSelect, onCancel……)

通過介面參數和CSS控制外觀

更多……

相關鏈接

Uploadify主頁地址:http://www.uploadify.com/ 在該頁面你可以了解到關於他的更多內容。

Uploadify在線演示:在線Demo

Uploadify配置參數及介面文檔:http://www.uploadify.com/documentation

Uploadify插件下載地址:http://www.uploadify.com/download

使用方法

下載插件安裝包後,可以看到裡面的幾個主要文件:jquery.uploadify.js(完成上傳功能的腳本文件,在調用頁面引用)、uploadify.css(外觀樣式表)、uploader.swf(上傳控制項的主體文件,flash控制項)、upload.php(伺服器端處理文件,官方僅提供了php版的)

引用了插件文件後,在頁面中做如下調用:

//聲明一個普通的html文件上傳控制項,並指定id

<input type="file" name="fileInput" id="fileInput" />

//將聲明的普通上傳控制項與Uploadify插件綁定

<script type="text/javascript">

$(document).ready(function() {

$('#fileInput').fileUpload ({

//以下參數均是可選

'uploader' : 'uploader.swf', //指定上傳控制項的主體文件,默認『uploader.swf』

'script' : 'upload.php', //指定伺服器端上傳處理文件,默認『upload.php』

'cancelImg' : 'cancel.png', //指定取消上傳的圖片,默認『cancel.png』

'auto' : true, //選定文件後是否自動上傳,默認false

'folder' : '/uploads' //要上傳到的伺服器路徑,默認『/』

'muti' : true, //是否允許同時上傳多文件,默認false

'fileDesc' : 'rar文件或zip文件' //出現在上傳對話框中的文件類型描述

'fileExt' : '*.rar;*.zip', //控制可上傳文件的擴展名,啟用本項時需同時聲明fileDesc

'sizeLimit': 86400 //控制上傳文件的大小,單位byte

'simUploadLimit' :5 //多文件上傳時,同時上傳文件數目限制

});

});

</script>

上面列出了我認為常用的配置選項,此外還有很多參數可配置,參考官方文檔

通過調用相關功能函數,聲明功能按鈕。

例如聲明上傳功能按鈕(自動上傳時不需要):

<a href="javascript:$('#fileInput').fileUploadStart();">上傳文件</a>

聲明取消多文件上傳時上傳隊列:

<a href="javascript:$('#fileInput').fileUploadClearQueue();">取消上傳隊列</a>

文章來自中國建站:http://www.jz123.cn/text/2419333.html

Ⅶ 情況jq中有類似Element 文件上傳功能的插件嗎

jquery uploadify

Ⅷ 求一款jQuery或js多圖上傳插件

多圖上傳沒問題,但是想上傳後可以刪除,可以修改名稱。這個只能你自己來實現。之前專門寫了一個上傳插件希望能幫到你

http://blog.csdn.net/sq111433/article/details/16872403

熱點內容
酒商城源碼 發布:2024-10-13 01:58:54 瀏覽:135
我的世界伺服器圈地設計 發布:2024-10-13 01:46:16 瀏覽:217
配置升級到什麼型號好 發布:2024-10-13 01:38:35 瀏覽:195
面試java基礎 發布:2024-10-13 01:38:34 瀏覽:891
製作加密dvd 發布:2024-10-13 01:32:41 瀏覽:570
java批量發送簡訊 發布:2024-10-13 01:27:00 瀏覽:223
androidstring特殊 發布:2024-10-13 01:21:19 瀏覽:239
nginxphp配置 發布:2024-10-13 01:12:55 瀏覽:570
網路游戲Server編程 發布:2024-10-13 00:41:44 瀏覽:227
androidqq分組 發布:2024-10-13 00:41:09 瀏覽:20