日期:2014-05-20  浏览次数:20452 次

如何不用<input type=file>上传
以前用到上传文件都是用 <input   type=file>
然后通过System.Web.HttpPostedFile   hpf   =   this.Request.Files[0];来上传;

但我现在希望通过 <input   type=text> 来做,不知道有办法实现吗?

------解决方案--------------------
通知w3c
------解决方案--------------------
text?来做
我想可以这样把 把你的文件的 byte[] 编码得到后
赋值给text
服务器 获取text值 并 输出成文件
------解决方案--------------------
不可能, <input type=file> 的上传功能是浏览器完成的
除非你用特殊的浏览器(自己写一个或者加插件之类的,只适用于内部网吧)
------解决方案--------------------
客户端用OFFICE 2003的话可以用 OFFICE 2003的上传组件
------解决方案--------------------
可以.而且不是太难.

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

'txtListFileName 一个TextBox,其中输入文件的完整路径

If txtListFileName.Text.Trim.Length > 0 Then

If My.Computer.FileSystem.FileExists((HttpUtility.HtmlEncode(txtListFileName.Text.Trim))) Then

Try
My.Computer.Network.UploadFile((HttpUtility.HtmlEncode(txtListFileName.Text.Trim)), "ftp://ip地址如果不是21端口加上端口号(:非21端口号)/1111.txt ", "username ", "password ")
Response.Write( "上传成功 ")
Catch ex As Exception
Response.Write(ex.Message.ToString)
End Try

Else
Try
Throw New ArgumentException( "没有不存在 ")
Catch ex As Exception
Response.Write(ex.Message.ToString)
End Try
End If

Else
Try
Throw New ArgumentException( "缺少上传文件 ")
Catch ex As Exception
Response.Write(ex.Message.ToString)
End Try
End If

End Sub
------解决方案--------------------
楼上的Response.Write让我相信这是服务器程序,可是在服务器上执行My.Computer.Network.UploadFile把服务器上的文件传给一个ftp,难道是在写服务器病毒?
------解决方案--------------------
哈哈,楼上两位星爷搞笑,
这个问题我三四年前经过手,答案是:no,never.
在更早之前是能实现的,不过微软把它当做IE的安全漏洞已经修复了,所以这个贴子可以结贴了。