如何发送和接收文件



我想要以下类型的功能

有两个用户AB都访问同一页面
此页面有一个按钮(发送文件)。
A单击按钮时,应出现
一个Open Dialog框当A从框中选择一个文件Open Dialog那么B的页面上应该会出现一个包含文件名
的链接,当B单击链接时,应该会出现一个SaveAs对话框,在给出名称和路径文件下载后应该开始。

在这种情况下的任何帮助都将不胜感激!

打开的对话框是通过 html 输入实现的:<input type="file">

另存为对话框是通过 html 锚点实现的:<a href="www.myserver.com/download.aspx?filename='the file'">

用户 A 选择文件后,您可以使用 AJAX 或表单 onsubmit 通过您创建的 upload.aspx 页面上传文件。

在用户 B 的计算机上,使用 AJAX 调用 updatefilelist.aspx 页面,该页面返回可用文件的列表。 用户 A 的新文件上传并保存在服务器上后,用户 B 的 AJAX 调用 updatefilelist 的下一次 ping 将更新屏幕上显示的列表.aspx以包含新文件。

单击该文件会调用具有所需文件名的 download.aspx 页面 - 您需要在此处设置Response.ContentTypeResponse.AddHeader("Content-Disposition", "attachment:filename=""" & IO.Path.GetFileName(Request.QueryString("filename")) & """")。 然后将自动弹出另存为对话框。

页面可以分为两半:另一半是文件上传控件,另一半通过 AJAX 每 3-4 秒轮询一次以查看是否有新文件。

侧"A"具有标准的文件上传控件,并使用标准的.NET方式保存上传的文件(请参阅FileUpload.PostedFile.SaveAs(路径),简单的东西)。文件上传完成后,刷新此页面。

"B"面是一个div,它从AJAX调用,XML,JSON或纯文本中获取其内容。有一个名为"link.aspx"的 AJAX 页面,它可以以您想要的任何格式回放内容。

对于链接,如果要强制"下载"窗口,则文件必须是浏览器中未正常显示的类型,或者需要使用另一个 aspx 页来提供文件并强制对话框为"保存"或"打开"。

该aspx页面将被称为"file.aspx"之类的东西,您可以传入查询字符串参数("id"或其他内容)来告诉它您想要什么文件。此页面背后的代码将从该查询字符串参数中找出您需要的文件,然后提供该文件:

Response.AddHeader("Content-Disposition", "attachment; filename=" + file.fileName);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "image/jpeg"; // you gotta figure out the content type of the file here though. This is just the one for JPEGS.
byte[] buffer = new byte[file.Length];
dl.Read(buffer, 0, (int)file.Length);
Response.BinaryWrite(buffer);
Response.End();

相关内容

  • 没有找到相关文章

最新更新