日期:2014-05-16  浏览次数:21080 次

上传图片优化,求指点。
表单里面有上传图片文件这项时,我目前是用框架然后调用上传组件,上传完图片返回图片保地址到父窗口隐藏域中,然后在入库,但这很不好,每次人家上传图片时需要点击浏览然后在点击上传,如果用户中途放弃提交表单而又上传了图片或者文件,这又加重了服务器空间的浪费。

我现在想要的是 像很多网站一样 上传图片的时候 只需要选择浏览上传图片 

然后提交表单的时候在上传图片和保存其它的文本域性信息。

由于上传组件 无法和request.form 同时执行

请高人指点下怎么做才好,O(∩_∩)O谢谢


------解决方案--------------------
由于上传组件 无法和request.form 同时执行


如果你用的是 上传组件 com 或者别的话 的确不行。
但是你的组件就是个asp 话 是可以的。。自己google代码就是。


另外如果你非得那样 可以先用asp接收所有的表单中的值,然后把图片再用服务器调用组件发送给组件处理也可以。
------解决方案--------------------
用上传组件的话,不知道你用什么上传组件,有些上传组件有自己的获取参数方法的

------解决方案--------------------
引用:
引用:由于上传组件 无法和request.form 同时执行


如果你用的是 上传组件 com 或者别的话 的确不行。
但是你的组件就是个asp 话 是可以的。。自己google代码就是。


另外如果你非得那样 可以先用asp接收所有的表单中的值,然后把图片再用服务器调用组件发送给组件处理也可以。

O(∩_∩)O……
就是你那个组件咋 你在用asp把图片post给组件。或者用流发给组件。

前提是你这个是com类似的组件。

如果只是asp写的一个上传的哦,就没得这个必要
------解决方案--------------------
引用:
用上传组件的话,不知道你用什么上传组件,有些上传组件有自己的获取参数方法的


用上传组件,如无惧上传就行,能帮能收集文件和填写的表单项
------解决方案--------------------
将你的file控件直接放到添加信息的表单中就行了啊。。然后用那个组件收集表单中的信息,不用讲file控件做个页面,用iframe嵌套进表单中
------解决方案--------------------
使用组件就不用request对象了啊,那个组件已经帮你收集好文件和表单信息了

'==========================
set FileUP=new Upload_file 
FileUP.GetDate(-1)
'==========================
'title=request("title")
title=FileUP.from("title")'用组件获取
if len(title)<=0 then
response.Write "<script>alert('请输入标题名称');history.go(-1)</script>"
response.End()
end if
'==========不需要了,组件生成文件名了,而且直接request("pic")也获取不到
'pic=request("pic")
'if pic="" then
'response.Write "<script>alert('请选择上传图片');history.go(-1)</script>"
'response.End()
'end if

call loadfile(pic)

'isfb=request("isfb")
isfb=FileUP.from("isfb")'用组件获取
'kigs=request("kigs")
kigs=FileUP.from("kigs")'用组件获取

set rs=server.CreateObject("adodb.recordset")
rs.open "select * from dh_design_sample",conn,1,3
rs.addnew
rs("title")=title
rs("pic")=filename
rs("cktime")=now()
rs("isfb")=isfb
rs("kigs")=kigs
rs.update
rs.close
set rs=nothing
response.Redirect "design_sample.asp"
response.End()

dim filename
function loadfile(v)
'set FileUP=new Upload_file '=========放外面去
'FileUP.GetDate(-1)'=========放外面去
formPath="../../upload_location/"
set file=FileUP.file(v)
filename=formPath&"dhupfile"&right(year(now),2)&month(now)&day(now)&hour(now)&minute(now)&second(now)&"."&file.FileExt
if file.filesize > 5*1024*1024 then
response.Write "<script>alert('温馨提示:\n\n文件大小不得超过5M,当前的文件大小为 "&int(file.filesize/1024)&" KB,请您重新上传。');history.go(-1)"
end if
if  LCase(file.FileExt)="gif" or LCase(file.FileExt)="jpg" or LCase(file.FileExt)="swf" or LCase(file.FileExt)="png" then 
img=""&filename&""
else
response.Write "<script>alert('温馨提示:\n\n上传文件只支持GIF、JPG、swf、png格式,不支持"&file.FileExt&" 格式的文件,请您重新上传。');history.go(-1)</scrip