知道本地图片地址:C:\DVR\2010111-223316.bmp
不通过<input type="file" name="F1" size="20">选择文件的方式,而是通过文本框:<input type="text" name="T1" size="20" value="C:\DVR\2010111-223316.bmp">这样的方式,或者反正是通过表单或地址传递提交(本地)地址上传图片,请求相关代码或类似处理办法!本人寻求数据流处理办法,ASP好像没有相关的转换方式,请高手们赐教?如能解决,可以付适当费用!QQ:88324655
不通过<input type="file" name="F1" size="20">选择文件的方式,而是通过文本框:<input type="text" name="T1" size="20" value="C:\DVR\2010111-223316.bmp">这样的方式,或者反正是通过表单或地址传递提交(本地)地址上传图片,请求相关代码或类似处理办法!本人寻求数据流处理办法,ASP好像没有相关的转换方式,请高手们赐教?如能解决,可以付适当费用!QQ:88324655
<input type="file" name="F1" style="display:hidden"/>
<input type="text" size="20" value="C:\DVR\2010111-223316.bmp" onchange="document.getElemenetById('F1')=this.value()"/>简单地说就是把file设为隐藏,然后通过JS来为其赋值,提交的时候还是由file来封装提交数据,只不过在界面上与用户直接交互的是text而已。
dim file,filename,houzui
file = Request("file")'if file="" then
' response.write"<script>alert('请选择要上传的文件!');window.location.href='upload.htm';</script>"
'else
' houzui=mid(file,InStrRev(file, "."))
' if houzui=".gif" or houzui=".jpg" or houzui=".bmp" then '允许上传的文件类型
filename=year(date) & month(date) & day(date) & Hour(time) & minute(time) & second(time) & houzui Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile file
objStream.SaveToFile Server.MapPath(filename),2
objStream.Close'//============================把文件名写入数据库,如无需要,可删除此段代码!
' Set conn = Server.CreateObject("ADODB.Connection")
' conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("mb.mdb")
' set rs=server.CreateObject("adodb.recordset")
' rs.open "select*from img",conn,1,2
' rs.addnew
' rs("name")=filename
' rs.update
' set rs=nothing
' conn.close
' set conn=nothing
'//======================================== response.write"<script>alert('图片上传成功!');window.location.href='a.asp';</script>"
' else
' response.write"<script>alert('不允许上传" & houzui & "的格式!');window.location.href='upload.htm';</script>"
' end if
'end if
%>
<input name="123" type="text" size="20" value="C:\DVR\Picture\2010111-22520.bmp" onchange="document.getElemenetById('file')=this.value()"/> <input type="submit" value="提交" name="bb">获取文本框:file = Request("123")
测试上传成功!感谢iijse!!!
file = Request("123");
这是获取的url.这个url是客户端的,服务器肯定找不到撒!!!!!!!!
asp 的,我刚刚百度了一下:
如果需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取我是做asp.net 的!在。net 中是用 request.files 来获取上传的文件(2进制流 )
if Request.QueryString("query")<>"test" Then
%>
<form action="?query=test" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="file" style="display:hidden"/><input name="123" type="text" size="20" value="C:\DVR\Picture\2010111-22520.bmp" onchange="document.getElemenetById('file')=this.value()"/>
<input type="submit" name="submit" value="提交" />
</form><%
Else
Response.ContentType="image/gif"'设置输出类型为图像
data=Request.BinaryRead(Request.TotalBytes)'获取客户端传送的所有数据
tcrlf=ChrB(13) & ChrB(10)'回车符号代码
flag=LeftB(data,InstrB(data,tcrlf)-1)'获取图像数据结束标志
datastart=InstrB(data,tcrlf & tcrlf)+4'获取图像数据开始位置
datalength=InstrB(datastart+1,data,flag)-datastart'获取图像数据长度
Response.BinaryWrite MidB(data,datastart,datalength)'输出图像
End If
%>请赐教,大侠们,看看以上代码有什么问题?
不通过onchange="document.getElemenetById('file')=this.value()"/传值,通过正常的<input type="file" name="file" >浏览选择是可以看到图片的,而以上打码不行,空白,什么都不显示!求教,谢谢!
<form method="POST" action="SaveFile.asp">
文件上传: <input type="file" name="file" style="display:hidden"/><input name="123" type="text" size="20" value="C:\DVR\Picture\2010111-22520.bmp" onchange="document.getElemenetById('file')=this.value()"/> <input type="submit" value="提交" name="bb">
</form>
input type=file是只读控件,不能赋值的。
如果这样能实现,那么你计算机里面的重要信息早被人上传走了
<input name="123" type="text" size="20" value="C:\DVR\Picture\2010111-22520.bmp" onchange="document.getElemenetById('file')=this.value()"/> <input type="submit" value="提交" name="bb">
<input type="file" name="file" style="display:hidden"/>
<input name="123" type="text" size="20" value="C:\DVR\Picture\2010111-22520.bmp" onchange="document.getElemenetById('file')=this.value()"/> <input type="submit" value="提交" name="bb">