0

因此,我的任务是为我们的应用程序构建文件上传,该应用程序使用 Visual WebGUI,因此在代码方面大多看起来像 WinForms。

问题是,我不知道从哪里开始。我尝试浏览我们的下载类,但它只需要一个文件并将其放入响应中。

我试过谷歌,但上传的东西什么都没有。

我对网站的运作方式还不够了解,甚至无法问自己或谷歌搜索正确的问题。我不知道网站如何告诉浏览器获取文件。如果我知道它是如何工作的,我仍然需要以某种方式让 VWG 做到这一点。我不能直接与浏览器交互(除了我写javascript的时候,但我不确定我能得到js的响应)。

从哪里开始的想法和线索也很棒,我只需要从某个地方开始。

如果您需要更多信息或澄清,请告诉我,因为我不确定您需要哪种信息。

4

1 回答 1

1

Visual WebGUI 有一个内置的上传机制,称为UploadControl。

由于您使用的是 VWG,因此您应该查看Companion Kit,它是 Visual Web Gui 的少数剩余资源之一。它给出了一个上传控件的例子。它还提供了示例代码,您可以下载。

简而言之,VWG 将处理获取文件的 JS 组件。您不必担心 JavaScript,这就是 VWG 的重点。在 C# 中,您将对 UploadControl 进行编码,您“获得”的是有关文件的信息,例如名称、大小、MIME 类型等。有关此信息,请参阅配套工具包。

脚步:

1) 将 UploadControl 添加到表单

this.mobjUploadControl = new Gizmox.WebGUI.Forms.UploadControl();

2)连接UploadControl

this.mobjUploadControl.UploadFileCompleted += new Gizmox.WebGUI.Forms.UploadFileCompletedHandler(this.mobjUploadControl_UploadFileCompleted);

3)处理实际上传。

  private void mobjUploadControl_UploadFileCompleted(object sender, UploadCompletedEventArgs e)
  {
      UploadFileResult uploadedFile = e.Result;

      // binary data for file, can be used to store to filesystem, db, etc
      byte[] fileData = File.ReadAllBytes(uploadedFile.TempFileFullName);

      // filename of what was uploaded
      string fileName = uploadedFile.Name;
  }
于 2017-08-25T20:30:39.340 回答