所以我的任务是为我们的应用程序构建一个文件上传,它使用Visual WebGUI,因此大部分看起来像WinForms代码。
问题是,我没有任何关于从哪里开始的线索。我尝试查看我们的Download类,但它只需要一个文件并将其放入响应中。
我试过google,但上传内容没什么。
我不太了解网站如何工作甚至问自己或谷歌正确的问题。我不知道网站如何告诉浏览器获取文件。如果我发现它是如何工作的,我仍然需要以某种方式让VWG这样做。我不能直接与浏览器交互(除非我写javascript,但我不确定我是否可以从js获得响应)。
从哪里开始的想法和线索也很棒,我只需要一个开始的地方。
如果您需要更多信息或说明,请告诉我,因为我不确定您需要哪种信息。
答案 0 :(得分: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;
}