LyfUpload组件的难题

wangyangcheng 2005-03-24 12:01:55
例如可能有若干个人都上传"简历.doc"文件,

但我没有权限在Server上使用Scripting.FileSystemObject来CreateFolder,

所以必须将文件名前加上流水号----20050324001简历.doc----再存在同一个目录下,

这样需在SaveFile之前得到file的文件名,但又无法Request得到,How?

如果采用随机生成DestFileName的话,又得不到所提交文件的扩展名,How?


附其介绍:




Request方法

得到上一个页面中表单元素的值;

声明:

Public Function Request(nm As String)

返回值:

为元素的值,字符串类型;

FileType方法

得到上传文件的Content-Type

声明:

Public Function FileType(strTag As String)

参数介绍:

strTag为Form中文件元素的名字,如"File1":

返回值:

文件上传成功,返回文件的Content-Type

不成功,返回为""

SaveFile方法(1.2版更改)

上传客户端选择的文件

声明:

SaveFile(strTag As String, strPath As String,strway as boolean, Optional DestFileName As String) As String

参数介绍:

strTag为Form中文件元素的名字,如"File1":

strPath为要文件保存在本机的目录;

strway为上传文件方式,覆盖方式上传为true,不覆盖上传为false;

DestFileName(可选参数),代表文件上传后重命名保存的名字;

//如果采用随机生成DestFileName的话,又得不到扩展名,How?

返回值:

成功,返回上载的文件的名字;

不成功,如果上传失败,返回为"";

不成功,如果上传文件后缀不对,返回为"0"(当设置了extName属性时有效);

不成功,如果上传文件的大小太大,返回为"1"(当设置了MaxSize属性时有效);

不成功,如果上传文件同服务器上已有文件相同,返回为"2"(当设置了参数strway为false时有效);
...全文
158 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyangcheng 2005-05-16
  • 打赏
  • 举报
回复
目前重命名的问题已解决!是通过函数将整个file对象进行切割后生成的。
但还没有弄多个文件上传的情况,只上传了一个。

LyfUpload组件,重命名问题
http://search.csdn.net/Expert/topic/677/677023.xml?temp=.434704

LyfUpload组件中获得上传文件名的方法?(在文件保存之前)
http://search.csdn.net/Expert/topic/993/993136.xml?temp=7.581729E-02


用过lyfupload.dll组件的请进。。。。分不够再加,急,在线等待。。。
http://search.csdn.net/Expert/topic/1177/1177086.xml?temp=.7689783
AConflictingMan 2005-05-16
  • 打赏
  • 举报
回复
关注
wangyangcheng 2005-03-26
  • 打赏
  • 举报
回复
up
wangyangcheng 2005-03-25
  • 打赏
  • 举报
回复
顺着第一个路子,终于搞定了:

Function GenerateNewFilename( strFilename, strPa_No )
dim fileupwhilename
dim newfilename
dim arrayFileString
dim strNewFilename
fileupwhilename = mid( strFilename, instr(strFilename,"""")+1)
fileupwhilename=left(fileupwhilename,instr(fileupwhilename,"""")-1)
'Response.Write fileupwhilename
'newfilename=newfilename&right(fileupwhilename,4)
arrayFileString = Split( fileupwhilename, "\", -1, 1 )
strNewFilename = strPa_No & "_" & arrayFileString( UBound( arrayFileString ) )
GenerateNewFilename = strNewFilename
End Function

//示例代码
Response.Write GenerateNewFilename( upload.Request( "file1" ), g_strPA_NO )
FlashK 2005-03-25
  • 打赏
  • 举报
回复
Set obj = Server.CreateObject("LyfUpload.UploadFile")
Obj.ExtName ="doc"
Obj.MaxSize = 1024*1024*3


NewFileName = Year(Date) & Month(Date) & Day(Date)& FormatNumber(Rnd,6)*1000000 & Hour(Time) & Minute(Time) & Second(Time) & ".doc"

OldFileName=obj.SaveFile("file1",path,true,NewFileName)

NewFileName是新的文件名,OldFileName老的文件名
scoutlin 2005-03-25
  • 打赏
  • 举报
回复
Set obj = Server.CreateObject("LyfUpload.UploadFile")
obj.maxsize=1024*1024
filename=obj.request("file1")'file1是你上传文件的INPUT名字
filename=流水线号&filename
ss=obj.SaveFile("file1",uploadpath, true,filename)'file1同上,uploadpath你上传后的绝对路径


  • 打赏
  • 举报
回复
lyfupload 有直接得到filename的方法我记得,看一下lyfupload的自带帮助,以前用过,记得很简单啊

是一个method
wangyangcheng 2005-03-25
  • 打赏
  • 举报
回复
参考搜索的贴子,现在找到两个方案:

一、用upload.Request( "file1" )取出整个file1的内容后再截取出文件名,再做转换。



二、在用户贴文件时即先取得要上传文件的名称,再传到保存文件的页面。
但不知如何响应用户单击”浏览“按钮的事件以取得要上传的文件名?

谢谢!
wangyangcheng 2005-03-25
  • 打赏
  • 举报
回复
现在又碰到个麻烦事:

<Script Language="JavaScript">
function setid()
{
str='<br>';
if(!window.form1.g_nUpCount.value)
window.form1.g_nUpCount.value=1;
else
{
for(i=1;i<=window.form1.g_nUpCount.value;i++)
{
str += '文件' + i + ':<input type="file" name="file'+i+'" style="width:400" class="tx1"><input type="radio" name="photoPos" value = "' + i + '">作为照片<br><br>';
}
window.upid.innerHTML = str + '<br>';
}
}
</Script>


我的目的是上传多个文件时通过一个Radio来确定哪个作为相片,

但调用以上函数后在提交页面中无法通过upload.Request( "photoPos" )来得到其值。

How?
  • 打赏
  • 举报
回复
这样需在SaveFile之前得到file的文件名,但又无法Request得到,How?

你把你写的代码帖上
wangyangcheng 2005-03-24
  • 打赏
  • 举报
回复
Anyway,thanks for U.

我的代码很简单:



//hr_upfile.asp

g_strFileURLPrefix = "/oa/profiles"
strTargetFilename1 = g_strPA_NO & upload.Request( "file1" )
//我要在file1原来的名称上加上流水号g_strPA_NO,但如何得到file1的文件名?
//upload.Request( "file1") 是得不到的。

strFile1 = upload.SaveFile( "file1", Server.MapPath( g_strFileURLPrefix ), true, strTargetFilname1 ) '保存文件到服务器

If ( strFile1 = "" ) Then
Response.Write "<Script>window.alert( '对不起,第一个文件上传失败,请检查!');history.go( -1 );</Script>"
End If
wangyangcheng 2005-03-24
  • 打赏
  • 举报
回复
我的意思应该是:

这样需在SaveFile之前得到并修改file的文件名,但又无法Request得到,How?

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧