一、upload
1、英 [ˌʌpˈləʊd] 美 [ˌʌpˈloʊd]。
2、v. 上载,上传
3、n. 上传的数据
二、短语
upload manager 关了也能传输文件的 ; 上传管理器 ; 关啦也能传输文件地 ; 上传管理服务。
扩展资料
一、upload的近义词:uploading。
1、英 ['ʌp'ləʊdɪŋ]。
2、v. 上传;上载(upload 的现在分词)
二、短语
topic uploading 任务书上传。
Uploading File 上传文件 ; 上传档。
1. su - root 切换到root用户下。
2. 删除原安装的,参照文档。
3. 网络设置:虚机下安装时,确认网络是否连接?(目前测试时,需要连接网络才行,本地连接才能获得IP,如果不连,获取不到IP,则无法FTP到虚机的服务器上)
4. 上传安装文件和license.。
a) sftp> ls。
b) anaconda-ks.cfg install.log install.log.syslog。
c) sftp> lls。
d) Access Connections Altova Book1.xlsx。
e) sftp> lcd e:\vertica。
f) sftp> lls。
g) 564d3724-a605-3d66-3b90-32afb293b031.vmem 。
h) sftp> ls 。
i) anaconda-ks.cfg install.log install.log.syslog。
j) sftp> pwd。
k) sftp> put vertica-5.0.4-0.x86_64.RHEL5.rpm。
l) Uploading vertica-5.0.4-0.x86_64.RHEL5.rpm to /home/dbadmin/vertica-5.0.4-0.x86_64.RHEL5.rpm。
m) 100% 64108KB 2787KB/s 00:00:23 。
n) e:/vertica/vertica-5.0.4-0.x86_64.RHEL5.rpm: 65647286 bytes transferred in 23 seconds (2787 KB/s)。
o) sftp>
p) sftp> put vlicense.dat。
q) Uploading vlicense.dat to /home/dbadmin/vlicense.dat。
r) 100% 572 bytes 572 bytes/s 00:00:00 。
s) e:/vertica/vlicense.dat: 572 bytes transferred in 0 seconds (572 bytes/s)。
t) sftp>
5. hosts文件设置:增加 127.0.0.1 vertica 如果有多个结点,需要增加多个。目前只有一个机器,即本地。
Cd etc
Vi hosts
[root@vertica ~]# pwd。
/root
6. 安装
--注意版本
[root@vertica /]# # rpm -Uvh /home/dbadmin/vertica-5.0.4-0.i386.RHEL5.rpm。
[root@vertica /]# rpm -Uvh /home/dbadmin/vertica-5.0.4-0.i386.RHEL5.rpm。
Preparing... ########################################### [100%]。
1:vertica ########################################### [100%]。
Vertica Analytic Database V5.0.4-0 successfully installed on host vertica。
---------------------------------------------------------------------。
run: /opt/vertica/sbin/install_vertica。
[root@vertica /]# /opt/vertica/sbin/install_vertica -s vertica -r "vertica-5.0.4-0.i386.RHEL5.rpm" -u dbadmin。
--其中-u dbadmin 是要先创建,还是在此指定后会默认创建?(dbadmin可以换其它名字,默认会创建)
Vertica Analytic Database 5.0.4-0 Installation Tool。
Invalid path for rpm file: /vertica-5.0.4-0.i386.RHEL5.rpm。
Installation completed with errors. 。
Installation failed.。
[root@vertica /]# /opt/vertica/sbin/install_vertica -s vertica -r "/home/dbadmin/vertica-5.0.4-0.i386.RHEL5.rpm" -u dbadmin。
Vertica Analytic Database 5.0.4-0 Installation Tool。
Upgrading admintools meta data format..。
scanning /opt/vertica/config/users。
Starting installation tasks...。
Getting system information for cluster (this may take a while)....。
Checking/fixing OS parameters.....。
Creating/Checking Vertica DBA group。
Creating/Checking Vertica DBA user。
Creating Vertica Data Directory...。
Updating spread configuration...。
Verifying spread configuration on whole cluster。
Creating node node0001 definition for host 127.0.0.1。
... Done
Error Monitor 0 errors 0 warnings。
Installation complete.。
To create a database:。
1. Logout and login as dbadmin.**。
2. Run /opt/vertica/bin/adminTools as dbadmin。
3. Select Create Database from the Configuration Menu。
** The installation modified the group privileges for dbadmin.。
If you used sudo to install vertica as dbadmin, you will。
need to logout and login again before the privileges are applied.。
[root@vertica /]# su - dbadmin。
[dbadmin@vertica ~]$ adminTools。
进入图形界面,根据提示,建database。
创建schema
执行 Select 1 from dual。
创建表,执行建表语句
导入数据
优化
当然是满血复活。在突击模式里为了5勋章过关。不能吃药,但是一不小心死了除了重新打就是按复活币。复活币复活之后直接满血复活不会影响通关5勋章。而且每天2个每日一共可以活得3个复活币。30个复活币满。
另外突击模式 推荐你专门整一个武器 零件带上 吸血 人物技能里带一个 神奇像塑(能免死)配合吸血可以多次免死。
神奇像塑满级5级后 你当前血高于1%,敌人一击不会直接把你打死会给你留1滴血。配合吸血枪把血再吸上去。如果再挨揍还能触发。但是注意有些怪是多段攻击的这个很多时候挡不住。另外一个就是那个隐身的飞虫,这个好像是挡不了的。另外神奇像塑这个技能到底有没有内置CD不清楚。但是配合吸血确实能多次触发。
<div id="uploader">。
<div class="queueList">。
<div id="dndArea" class="placeholder">。
<div id="filePicker"></div>。
<p>或将照片拖到这里,单次最多可选30张</p>。
</div>
</div>
<div class="statusBar" style="display:none;">。
<div class="progress">。
<span class="text">0%</span>。
<span class="percentage"></span>。
</div><div class="info"></div>。
<div class="btns">。
<div id="filePicker2"></div><div class="uploadBtn">开始上传</div>。
</div>
</div>
</div>
<script>
require(['jquery', 'webuploader' ], function($, WebUploader) {。
return;
// 当domReady的时候开始初始化。
$(function() {。
var $wrap = $('#uploader'),。
// 图片容器
$queue = $( '<ul class="filelist"></ul>' )。
.appendTo( $wrap.find( '.queueList' ) ),。
// 状态栏,包括进度和控制按钮。
$statusBar = $wrap.find( '.statusBar' ),。
// 文件总体选择信息。
$info = $statusBar.find( '.info' ),。
// 上传按钮
$upload = $wrap.find( '.uploadBtn' ),。
// 没选择文件之前的内容。
$placeHolder = $wrap.find( '.placeholder' ),。
$progress = $statusBar.find( '.progress' ).hide(),。
// 添加的文件数量
fileCount = 0,。
// 添加的文件总大小
fileSize = 0,。
// 优化retina, 在retina下这个值是2。
ratio = window.devicePixelRatio || 1,。
// 缩略图大小
thumbnailWidth = 110 * ratio,。
thumbnailHeight = 110 * ratio,。
// 可能有pedding, ready, uploading, confirm, done.。
state = 'pedding',。
// 所有文件的进度信息,key为file id。
percentages = {},。
supportTransition = (function(){。
var s = document.createElement('p').style,。
r = 'transition' in s ||。
'WebkitTransition' in s ||。
'MozTransition' in s ||。
'msTransition' in s ||。
'OTransition' in s;。
s = null;
return r;
})(),
// WebUploader实例。
uploader;
// 实例化
uploader = WebUploader.create({。
pick: {
id: '#filePicker',。
label: '点击选择图片'。
},
dnd: '#dndArea',。
paste: '#uploader',。
// swf文件路径
swf: '{$_W['siteroot']}app/resource/componets/webuploader/Uploader.swf',。
// 文件接收服务端。
server: '{$_W['siteroot']}app/{php echo str_replace('./','',url('utility/file',array('do'=>'upload', 'type'=>'image'), true))}',。
chunked: true,。
// runtimeOrder: 'flash',。
// sendAsBinary: true,。
fileNumLimit: 30,。
fileSizeLimit: 30 * 1024 * 1024, // 30 M。
fileSingleSizeLimit: 4 * 1024 * 1024 // 1 M。
});
// 添加“添加文件”的按钮,
uploader.addButton({。
id: '#filePicker2',。
label: '继续添加'。
});
// 当有文件添加进来时执行,负责view的创建。
function addFile( file ) {。
var $li = $( '<li id="' + file.id + '">' +。
'<p class="title">' + file.name + '</p>' +。
'<p class="imgWrap"></p>'+。
'<p class="progress"><span></span></p>' +。
'</li>' ),。
$btns = $('<div class="file-panel">' +。
'<span class="cancel">删除</span>' +。
'<span class="rotateRight">向右旋转</span>' +。
'<span class="rotateLeft">向左旋转</span></div>').appendTo( $li ),。
$prgress = $li.find('p.progress span'),。
$wrap = $li.find( 'p.imgWrap' ),。
$info = $('<p class="error"></p>'),。
showError = function( code ) {。
switch( code ) {。
case 'exceed_size':。
text = '文件大小超出';。
break;
case 'interrupt':。
text = '上传暂停';。
break;
default:
text = '上传失败,请重试';。
break;
}
$info.text( text ).appendTo( $li );。
};
if ( file.getStatus() === 'invalid' ) {。
showError( file.statusText );。
} else {
// @todo lazyload。
$wrap.text( '预览中' );。
uploader.makeThumb( file, function( error, src ) {。
if ( error ) {。
$wrap.text( '不能预览' );。
return;
}
var img = $('<img src="'+src+'">');。
$wrap.empty().append( img );。
}, thumbnailWidth, thumbnailHeight );。
percentages[ file.id ] = [ file.size, 0 ];。
file.rotation = 0;。
}
file.on('statuschange', function( cur, prev ) {。
if ( prev === 'progress' ) {。
$prgress.hide().width(0);。
} else if ( prev === 'queued' ) {。
$li.off( 'mouseenter mouseleave' );。
$btns.remove();。
}
// 成功
if ( cur === 'error' || cur === 'invalid' ) {。
console.log( file.statusText );。
showError( file.statusText );。
percentages[ file.id ][ 1 ] = 1;。
} else if ( cur === 'interrupt' ) {。
showError( 'interrupt' );。
} else if ( cur === 'queued' ) {。
percentages[ file.id ][ 1 ] = 0;。
} else if ( cur === 'progress' ) {。
$info.remove();。
$prgress.css('display', 'block');。
} else if ( cur === 'complete' ) {。
$li.append( '<span class="success"></span>' );。
}
$li.removeClass( 'state-' + prev ).addClass( 'state-' + cur );。
});
$li.on( 'mouseenter', function() {。
$btns.stop().animate({height: 30});。
});
$li.on( 'mouseleave', function() {。
$btns.stop().animate({height: 0});。
});
$btns.on( 'click', 'span', function() {。
var index = $(this).index(),。
deg;
switch ( index ) {。
case 0:
uploader.removeFile( file );。
return;
case 1:
file.rotation += 90;。
break;
case 2:
file.rotation -= 90;。
break;
}
if ( supportTransition ) {。
deg = 'rotate(' + file.rotation + 'deg)';。
$wrap.css({。
'-webkit-transform': deg,。
'-mos-transform': deg,。
'-o-transform': deg,。
'transform': deg。
});
} else {
$wrap.css( 'filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation='+ (~~((file.rotation/90)%4 + 4)%4) +')');。
}
});
$li.appendTo( $queue );。
}
// 负责view的销毁
function removeFile( file ) {。
var $li = $('#'+file.id);。
delete percentages[ file.id ];。
updateTotalProgress();。
$li.off().find('.file-panel').off().end().remove();。
}
function updateTotalProgress() {。
var loaded = 0,。
total = 0,
spans = $progress.children(),。
percent;
$.each( percentages, function( k, v ) {。
total += v[ 0 ];。
loaded += v[ 0 ] * v[ 1 ];。
} );
percent = total ? loaded / total : 0;。
spans.eq( 0 ).text( Math.round( percent * 100 ) + '%' );。
spans.eq( 1 ).css( 'width', Math.round( percent * 100 ) + '%' );。
updateStatus();。
}
function updateStatus() {。
var text = '', stats;。
if ( state === 'ready' ) {。
text = '选中' + fileCount + '张图片,共' + WebUploader.formatSize( fileSize ) + '。';。
} else if ( state === 'confirm' ) {。
stats = uploader.getStats();。
if ( stats.uploadFailNum ) {。
text = '已成功上传' + stats.successNum+ '张照片至XX相册,'+。
stats.uploadFailNum + '张照片上传失败,<a class="retry" href="#">重新上传</a>失败图片或<a class="ignore" href="#">忽略</a>'。
}
} else {
stats = uploader.getStats();。
text = '共' + fileCount + '张(' +。
WebUploader.formatSize( fileSize ) +。
'),已上传' + stats.successNum + '张';。
if ( stats.uploadFailNum ) {。
text += ',失败' + stats.uploadFailNum + '张';。
}
}
$info.html( text );。
}
function setState( val ) {。
var file, stats;。
if ( val === state ) {。
return;
}
$upload.removeClass( 'state-' + state );。
$upload.addClass( 'state-' + val );。
state = val;。
switch ( state ) {。
case 'pedding':。
$placeHolder.removeClass( 'element-invisible' );。
$queue.hide();。
$statusBar.addClass( 'element-invisible' );。
uploader.refresh();。
break;
case 'ready':。
$placeHolder.addClass( 'element-invisible' );。
$( '#filePicker2' ).removeClass( 'element-invisible');。
$queue.show();。
$statusBar.removeClass('element-invisible');。
uploader.refresh();。
break;
case 'uploading':。
$( '#filePicker2' ).addClass( 'element-invisible' );。
$progress.show();。
$upload.text( '暂停上传' );。
break;
case 'paused':。
$progress.show();。
$upload.text( '继续上传' );。
break;
case 'confirm':。
$progress.hide();。
$upload.text( '开始上传' ).addClass( 'disabled' );。
stats = uploader.getStats();。
if ( stats.successNum && !stats.uploadFailNum ) {。
setState( 'finish' );。
return;
}
break;
case 'finish':。
stats = uploader.getStats();。
if ( stats.successNum ) {。
alert( '上传成功' );。
} else {
// 没有成功的图片,重设。
state = 'done';。
location.reload();。
}
break;
}
updateStatus();。
}
uploader.onUploadProgress = function( file, percentage ) {。
var $li = $('#'+file.id),。
$percent = $li.find('.progress span');。
$percent.css( 'width', percentage * 100 + '%' );。
percentages[ file.id ][ 1 ] = percentage;。
updateTotalProgress();。
};
uploader.onFileQueued = function( file ) {。
fileCount++;。
fileSize += file.size;。
if ( fileCount === 1 ) {。
$placeHolder.addClass( 'element-invisible' );。
$statusBar.show();。
}
addFile( file );。
setState( 'ready' );。
updateTotalProgress();。
};
uploader.onFileDequeued = function( file ) {。
fileCount--;。
fileSize -= file.size;。
if ( !fileCount ) {。
setState( 'pedding' );。
}
removeFile( file );。
updateTotalProgress();。
};
uploader.on( 'all', function( type ) {。
var stats;
switch( type ) {。
case 'uploadFinished':。
setState( 'confirm' );。
break;
case 'startUpload':。
setState( 'uploading' );。
break;
case 'stopUpload':。
setState( 'paused' );。
break;
}
});
uploader.onError = function( code ) {。
alert( 'Eroor: ' + code );。
};
$upload.on('click', function() {。
if ( $(this).hasClass( 'disabled' ) ) {。
return false;。
}
if ( state === 'ready' ) {。
uploader.upload();。
} else if ( state === 'paused' ) {。
uploader.upload();。
} else if ( state === 'uploading' ) {。
uploader.stop();。
}
});
$info.on( 'click', '.retry', function() {。
uploader.retry();。
} );
$info.on( 'click', '.ignore', function() {。
alert( 'todo' );。
} );
$upload.addClass( 'state-' + state );。
updateTotalProgress();。
});
});
</script>。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>。
<%Option Explicit。
Response.Buffer = True 。
Server.ScriptTimeOut = 90 。
'Session.CodePage=936。
' 将EXCEL数据导入ACCESS通用程序。
'Coded by 8da.OruA。
dim sql,rstable,rs。
dim rsfield,rsmdb,rsxls%>。
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />。
<title>EXCEL>ACCESS</title>。
<style type="text/css">。
<!--
td {
font-size: 9pt;。
color: #333333;。
background-color:#ffffff;。
height:20px;
body {
font-size: 9pt;。
color: #333333;。
.title {
background:#0066CC;。
color:#FFFFFF;
text-align:center;。
font-size:12pt;。
table {
background-color:#999999;。
#uploading {
display:none;
.t_td{
height:16px;
.word{
color:#ff0000; 。
font-weight: bold;。
.border{
border:1px solid #999999;。
color:#000000;
-->
</style>
<script>
function uploadstart(){。
if (document.all("file").value=""){。
alert("请选择上传文件");。
return;
document.all("uploading").style.display="inline";。
document.all("upload").style.display="none";。
document.all("pathtable").style.display="none";。
document.all("fileform").submit();。
</script>。
</head>
<body>
<center>
<%
if request("action")="login" then。
if request("pwd")="123456" then。
session("import_login")=true。
end if
end if
'文件上传类,无惧上传类 V2.2,作者:梁无惧。
Class UpFile_Class。
Dim Form,File
Dim AllowExt_ '允许上传类型(白名单)。
Dim NoAllowExt_ '不允许上传类型(黑名单)。
Dim IsDebug_ '是否显示出错信息。
Private oUpFileStream '上传的数据流。
Private isErr_ '错误的代码,0或true表示无错。
Private ErrMessage_ '错误的字符串信息。
Private isGetData_ '指示是否已执行过GETDATA过程。
'------------------------------------------------------------------。
'类的属性
Public Property Get Version。
Version="无惧上传类 Version V2.0"。
End Property
Public Property Get isErr '错误的代码,0或true表示无错。
isErr=isErr_
End Property
Public Property Get ErrMessage '错误的字符串信息。
ErrMessage=ErrMessage_。
End Property
Public Property Get AllowExt '允许上传类型(白名单)。
AllowExt=AllowExt_。
End Property
Public Property Let AllowExt(Value) '允许上传类型(白名单)。
AllowExt_=LCase(Value)。
End Property
Public Property Get NoAllowExt '不允许上传类型(黑名单)。
NoAllowExt=NoAllowExt_。
End Property
Public Property Let NoAllowExt(Value) '不允许上传类型(黑名单)。
NoAllowExt_=LCase(Value)。
End Property
Public Property Let IsDebug(Value) '是否设置为调试模式。
IsDebug_=Value
End Property
'----------------------------------------------------------------。
'类实现代码
'初始化类
Private Sub Class_Initialize。
isErr_ = 0
NoAllowExt="" '黑名单,可以在这里预设不可上传的文件类型,以文件的后缀名来判断,不分大小写,每个每缀名用;号分开,如果黑名单为空,则判断白名单。
NoAllowExt=LCase(NoAllowExt)。
AllowExt="" '白名单,可以在这里预设可上传的文件类型,以文件的后缀名来判断,不分大小写,每个后缀名用;号分开。
AllowExt=LCase(AllowExt)。
isGetData_=false。
End Sub
'类结束
Private Sub Class_Terminate 。
on error Resume Next。
'清除变量及对像
Form.RemoveAll
Set Form = Nothing。
File.RemoveAll
Set File = Nothing。
oUpFileStream.Close。
Set oUpFileStream = Nothing。
if Err.number<>0 then OutErr("清除类时发生错误!")。
End Sub
'分析上传的数据
Public Sub GetData (MaxSize)。
'定义变量
on error Resume Next。
if isGetData_=false then 。
Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo。
Dim sFormValue,sFileName。
Dim iFindStart,iFindEnd。
Dim iFormStart,iFormEnd,sFormName。
'代码开始
If Request.TotalBytes < 1 Then '如果没有数据上传。
isErr_ = 1。
ErrMessage_="没有数据上传,这是因为直接提交网址所产生的错误!"。
OutErr("没有数据上传,这是因为直接提交网址所产生的错误!!")。
Exit Sub
End If
If MaxSize > 0 Then '如果限制大小。
If Request.TotalBytes > MaxSize Then。
isErr_ = 2 '如果上传的数据超出限制大小。
ErrMessage_="上传的数据超出限制大小!"。
OutErr("上传的数据超出限制大小!")。
Exit Sub
End If
End If
Set Form = Server.CreateObject ("Scripting.Dictionary")。
Form.CompareMode = 1。
Set File = Server.CreateObject ("Scripting.Dictionary")。
File.CompareMode = 1。
Set tStream = Server.CreateObject ("ADODB.Stream")。
Set oUpFileStream = Server.CreateObject ("ADODB.Stream")。
if Err.number<>0 then OutErr("创建流对象(ADODB.STREAM)时出错,可能系统不支持或没有开通该组件")。
oUpFileStream.Type = 1。
oUpFileStream.Mode = 3。
oUpFileStream.Open 。
oUpFileStream.Write Request.BinaryRead (Request.TotalBytes)。
oUpFileStream.Position = 0。
RequestBinDate = oUpFileStream.Read 。
iFormEnd = oUpFileStream.Size。
bCrLf = ChrB (13) & ChrB (10)。
'取得每个项目之间的分隔符。
sSpace = MidB (RequestBinDate,1, InStrB (1,RequestBinDate,bCrLf)-1)。
iStart = LenB(sSpace)。
iFormStart = iStart+2。
'分解项目
Do
iInfoEnd = InStrB (iFormStart,RequestBinDate,bCrLf & bCrLf)+3。
tStream.Type = 1。
tStream.Mode = 3。
tStream.Open。
oUpFileStream.Position = iFormStart。
oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart。
tStream.Position = 0。
tStream.Type = 2。
tStream.CharSet = "gb2312"。
sInfo = tStream.ReadText 。
'取得表单项目名称
iFormStart = InStrB (iInfoEnd,RequestBinDate,sSpace)-1。
iFindStart = InStr (22,sInfo,"name=""",1)+6。
iFindEnd = InStr (iFindStart,sInfo,"""",1)。
sFormName = Mid(sinfo,iFindStart,iFindEnd-iFindStart)。
'如果是文件
If InStr (45,sInfo,"filename=""",1) > 0 Then。
Set oFileInfo = new FileInfo_Class。
'取得文件属性
iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10。
iFindEnd = InStr (iFindStart,sInfo,""""&vbCrLf,1)。
sFileName = Trim(Mid(sinfo,iFindStart,iFindEnd-iFindStart))。
oFileInfo.FileName = GetFileName(sFileName)。
oFileInfo.FilePath = GetFilePath(sFileName)。
oFileInfo.FileExt = GetFileExt(sFileName)。
iFindStart = InStr (iFindEnd,sInfo,"Content-Type: ",1)+14。
iFindEnd = InStr (iFindStart,sInfo,vbCr)。
oFileInfo.FileMIME = Mid(sinfo,iFindStart,iFindEnd-iFindStart)。
oFileInfo.FileStart = iInfoEnd。
oFileInfo.FileSize = iFormStart -iInfoEnd -2。
oFileInfo.FormName = sFormName。
file.add sFormName,oFileInfo。
else
'如果是表单项目
tStream.Close。
tStream.Type = 1。
tStream.Mode = 3。
tStream.Open。
oUpFileStream.Position = iInfoEnd 。
oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-2。
tStream.Position = 0。
tStream.Type = 2。
tStream.CharSet = "gb2312"。
sFormValue = tStream.ReadText。
If Form.Exists (sFormName) Then。
Form (sFormName) = Form (sFormName) & ", " & sFormValue。
else
Form.Add sFormName,sFormValue。
End If
End If
tStream.Close。
iFormStart = iFormStart+iStart+2。
'如果到文件尾了就退出。
Loop Until (iFormStart+2) >= iFormEnd 。
if Err.number<>0 then OutErr("分解上传数据时发生错误,可能客户端的上传数据不正确或不符合上传数据规则")。
RequestBinDate = ""。
Set tStream = Nothing。
isGetData_=true。
end if
End Sub
'保存到文件,自动覆盖已存在的同名文件。
Public Function SaveToFile(Item,Path)。
SaveToFile=SaveToFileEx(Item,Path,True)。
End Function
'保存到文件,自动设置文件名
Public Function AutoSave(Item,Path)。
AutoSave=SaveToFileEx(Item,Path,false)。
End Function
'保存到文件,OVER为真时,自动覆盖已存在的同名文件,否则自动把文件改名保存。
Private Function SaveToFileEx(Item,Path,Over)。
On Error Resume Next。
Dim FileExt
if file.Exists(Item) then。
Dim oFileStream。
Dim tmpPath。
isErr_=0
Set oFileStream = CreateObject ("ADODB.Stream")。
oFileStream.Type = 1。
oFileStream.Mode = 3。
oFileStream.Open。
oUpFileStream.Position = File(Item).FileStart。
oUpFileStream.CopyTo oFileStream,File(Item).FileSize。
tmpPath=Split(Path,".")(0)。
FileExt=GetFileExt(Path)。
if Over then。
if isAllowExt(FileExt) then。
oFileStream.SaveToFile tmpPath & "." & FileExt,2。
if Err.number<>0 then OutErr("保存文件时出错,请检查路径,是否存在该上传目录!该文件保存路径为" & tmpPath & "." & FileExt)。
Else
isErr_=3
ErrMessage_="该后缀名的文件不允许上传!"。
OutErr("该后缀名的文件不允许上传")。
End if
Else
Path=GetFilePath(Path)。
dim fori
fori=1
if isAllowExt(File(Item).FileExt) then。
do
fori=fori+1。
Err.Clear()。
tmpPath=Path&GetNewFileName()&"."&File(Item).FileExt。
oFileStream.SaveToFile tmpPath。
loop Until ((Err.number=0) or (fori>50))。
if Err.number<>0 then OutErr("自动保存文件出错,已经测试50次不同的文件名来保存,请检查目录是否存在!该文件最后一次保存时全路径为"&Path&GetNewFileName()&"."&File(Item).FileExt)。
Else
isErr_=3
ErrMessage_="该后缀名的文件不允许上传!"。
OutErr("该后缀名的文件不允许上传")。
End if
End if
oFileStream.Close。
Set oFileStream = Nothing。
else
ErrMessage_="不存在该对象(如该文件没有上传,文件为空)!"。
OutErr("不存在该对象(如该文件没有上传,文件为空)")。
end if
if isErr_=3 then SaveToFileEx="" else SaveToFileEx=GetFileName(tmpPath)。
End Function
'取得文件数据
Public Function FileData(Item)。
isErr_=0
if file.Exists(Item) then。
if isAllowExt(File(Item).FileExt) then。
oUpFileStream.Position = File(Item).FileStart。
FileData = oUpFileStream.Read (File(Item).FileSize)。
Else
isErr_=3
ErrMessage_="该后缀名的文件不允许上传"。
OutErr("该后缀名的文件不允许上传")。
FileData=""。
End if
else
ErrMessage_="不存在该对象(如该文件没有上传,文件为空)!"。
OutErr("不存在该对象(如该文件没有上传,文件为空)")。
end if
End Function
'取得文件路径
Public function GetFilePath(FullPath)。
If FullPath <> "" Then。
GetFilePath = Left(FullPath,InStrRev(FullPath, "\"))。
Else
GetFilePath = ""。
End If
End function
'取得文件名
Public Function GetFileName(FullPath)。
If FullPath <> "" Then。
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)。
Else
GetFileName = ""。
End If
End function
'取得文件的后缀名
Public Function GetFileExt(FullPath)。
If FullPath <> "" Then。
GetFileExt = LCase(Mid(FullPath,InStrRev(FullPath, ".")+1))。
Else
GetFileExt = ""。
End If
End function
'取得一个不重复的序号
Public Function GetNewFileName()。
dim ranNum
dim dtNow
dtNow=Now()
randomize
ranNum=int(90000*rnd)+10000。
'以下这段由webboy提供
GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum。
End Function
Public Function isAllowExt(Ext)。
if NoAllowExt="" then。
isAllowExt=cbool(InStr(1,";"&AllowExt&";",LCase(";"&Ext&";")))。
else
isAllowExt=not CBool(InStr(1,";"&NoAllowExt&";",LCase(";"&Ext&";")))。
end if
End Function
End Class
Public Sub OutErr(ErrMsg)。
if IsDebug_=true then。
Response.Write ErrMsg。
Response.End
End if
End Sub