NeatUpload的MultiFile限制上傳數量
作者: fase 日期: 2010-09-23 17:56
最近在研究ASP.NET的上傳控制項
原先的程式是使用NeatUpload來作大檔案的上傳
這NeatUpload是覺得不錯,只是細項要修改相當不好找
一些安裝和基本的使用,這邊當然就不說了
這篇要說明的是,在使用MultiFile控制項上傳
當利用Flash時,如何限制上傳檔案的數量
也就是UseFlashIfAvailable="True"
我是花了好幾天時間在研究
還好沒有很大的時間壓力
本來是在查如何限制上傳檔案的大小
是找到了方法,不過還沒實作
先在這篇說明如何限制檔案數量
在原作者的討論區看到有人詢問
而基本上我是利用MultiFile來取代InputFile
為什麼要這樣作,因為MultiFile可以設定UseFlashIfAvailable
就會直接使用SWFUpload當介面,此時可以利用SWFUpload來得到上傳檔案的大小
所以我並不是想用MultiFile,只是InputFile並沒辦法這樣作
就來看一下程式碼,我這邊只是限制只能選一個檔案
如果要限制2個以上的話,可能程式碼還需修正
<script type="text/javascript">
window.onload = function() {
NeatUploadMultiFile.prototype.Controls['MultiFile1'].OnFileQueued = function(file) {
if (this.FilesToUpload.length > 1) {
this.FilesToUpload[0].Delete();
var fqc = NeatUploadMultiFile.prototype.GetFileQueueControl.call(this);
while (fqc.hasChildNodes())
fqc.removeChild(fqc.firstChild);
NeatUploadMultiFile.prototype.OnFileQueued.call(this, file);
}
else
{
NeatUploadMultiFile.prototype.OnFileQueued.call(this, file);
}
}
}
</script>
這是JavaScript是去改寫NeatUpload.js的OnFileQueued
這程式碼是要放在使用MultiFile的網頁裏
所以NeatUpload原先的程式都不需修改
原先討論的文章只是將新選擇的檔案刪除
可是這並不符合一般選擇單一檔案的習慣
所以作了一些改寫
也花了自己蠻多時間的
另外也有去研究了一下SWFUpload
SWFUpload本身也可以限制檔案數量
只是NeatUpload並沒有可以帶參數進去
所以要使用這樣的方法
就供大家參考看看了
原先的程式是使用NeatUpload來作大檔案的上傳
這NeatUpload是覺得不錯,只是細項要修改相當不好找
一些安裝和基本的使用,這邊當然就不說了
這篇要說明的是,在使用MultiFile控制項上傳
當利用Flash時,如何限制上傳檔案的數量
也就是UseFlashIfAvailable="True"
我是花了好幾天時間在研究
還好沒有很大的時間壓力
本來是在查如何限制上傳檔案的大小
是找到了方法,不過還沒實作
先在這篇說明如何限制檔案數量
在原作者的討論區看到有人詢問
而基本上我是利用MultiFile來取代InputFile
為什麼要這樣作,因為MultiFile可以設定UseFlashIfAvailable
就會直接使用SWFUpload當介面,此時可以利用SWFUpload來得到上傳檔案的大小
所以我並不是想用MultiFile,只是InputFile並沒辦法這樣作
就來看一下程式碼,我這邊只是限制只能選一個檔案
如果要限制2個以上的話,可能程式碼還需修正
<script type="text/javascript">
window.onload = function() {
NeatUploadMultiFile.prototype.Controls['MultiFile1'].OnFileQueued = function(file) {
if (this.FilesToUpload.length > 1) {
this.FilesToUpload[0].Delete();
var fqc = NeatUploadMultiFile.prototype.GetFileQueueControl.call(this);
while (fqc.hasChildNodes())
fqc.removeChild(fqc.firstChild);
NeatUploadMultiFile.prototype.OnFileQueued.call(this, file);
}
else
{
NeatUploadMultiFile.prototype.OnFileQueued.call(this, file);
}
}
}
</script>
這是JavaScript是去改寫NeatUpload.js的OnFileQueued
這程式碼是要放在使用MultiFile的網頁裏
所以NeatUpload原先的程式都不需修改
原先討論的文章只是將新選擇的檔案刪除
可是這並不符合一般選擇單一檔案的習慣
所以作了一些改寫
也花了自己蠻多時間的
另外也有去研究了一下SWFUpload
SWFUpload本身也可以限制檔案數量
只是NeatUpload並沒有可以帶參數進去
所以要使用這樣的方法
就供大家參考看看了
標籤:
ASP.NET
評論: 0 |
引用: 0 |
閱讀: 4176 |
回到頁首
[ASP.NET]用MPlayer作影片截圖 (2010-08-05 16:37)