Ooui-tws-port/Samples/FilesSample.cs

46 lines
1.3 KiB
C#
Raw Normal View History

2017-08-23 03:26:01 +00:00
using System;
using System.Net;
using System.Threading;
using Ooui;
namespace Samples
{
public class FilesSample
{
public void Publish ()
{
var heading = new Heading ("Upload Files");
var subtitle = new Paragraph ("Upload files to the app");
var uploadForm = new Form ();
uploadForm.Action = "/files/upload";
uploadForm.Method = "POST";
uploadForm.EncodingType = "multipart/form-data";
uploadForm.AppendChild (new Input (InputType.File) { Name = "file" });
uploadForm.AppendChild (new Input (InputType.Submit) { Value = "Upload" });
var app = new Div ();
app.AppendChild (heading);
app.AppendChild (subtitle);
app.AppendChild (uploadForm);
UI.Publish ("/files", app);
UI.PublishCustomResponse ("/files/upload", HandleUpload);
}
void HandleUpload (HttpListenerContext listenerContext, CancellationToken token)
{
var req = listenerContext.Request;
var ct = req.ContentType;
var bi = ct.IndexOf ("boundary=", StringComparison.InvariantCulture);
var boundaryString = ct.Substring (bi + 9);
var boundaryBytes = System.Text.Encoding.UTF8.GetBytes (boundaryString);
var boundaryEndBytes = System.Text.Encoding.UTF8.GetBytes (boundaryString + "--");
Console.WriteLine ("OMGGGGGG " + boundaryString);
listenerContext.Response.StatusCode = 200;
listenerContext.Response.Close ();
}
}
}