在没有openFile对话框的情况下将文件从客户端上传到服

时间:2012-05-14 07:04:25

标签: javascript jquery html asp.net-mvc asp.net-mvc-3

我正在尝试创建一个aspx页面,我可以直接将文件从客户端上传到服务器而无需用户干预。我想做一些事情,比如当用户在url中指定文件路径时,必须将该特定文件上传到服务器。

例如: ht.tp://XXX.XXX.XXX.XXX/File_upload/File_Uploader.aspx?upload=C:/sample.csv&type=csv

用户可以在上传后更改值以及他指定的文件,将需要将其上传到位于xxx.xxx.xxx.xxx

的服务器上

这只是一个试验,检查是否在服务器上创建了csv文件,并且没有创建。

我只想将客户端的文件复制到服务器端,并且只能通过上面指定格式的aspx页面。 如果还有其他好办法,请指导我。感谢。

2 个答案:

答案 0 :(得分:3)

可以在没有用户互动的情况下上传文件。他必须做一个明确的行动:拖拽和放大删除或选择带有对话框窗口的文件。

这是因为安全原因,想象一下HTML页面是否可以将任何文件上传到远程服务器,用户无需选择哪一个:它可以上传用户文档,设置,密码或者运行浏览器的Windows用户可以访问的任何内容。出于同样的原因,即使value属性经常被忽略,并且每个浏览器也不会处理accept属性(您或多或少会强制用户在继续之前选择所需的文件) 。我记得旧版本的Firefox甚至不允许以编程方式点击input标签来上传文件。

答案 1 :(得分:0)

您应该发布文件的内容。

这就是浏览器在使用文件上传对话框时所做的事情。浏览器打开文件并通过HTTP发送内容。

例如,您可以使用wget --post-file=file.txt发布内容。然后,在服务器上,您可以读取POST数据以检索文件的内容。