private void UploadFile(HttpListenerContext ctx) { String fileId = String.Empty; Byte[] buffer = GetFile(ctx); using (BigFile bigFile = new BigFile(this.FilePath, this.FileSize)) { fileId = bigFile.Write(buffer).ToString(); } buffer = null; String fileUrl = GetApiUrl(ctx.Request.LocalEndPoint.Address.ToString(), ctx.Request.LocalEndPoint.Port) + "/" + fileId; Trace.Write(fileUrl); using (StreamWriter writer = new StreamWriter(ctx.Response.OutputStream)) { writer.Write(fileUrl); ctx.Response.AppendHeader("File-Id", fileId); ctx.Response.StatusCode = (Int32)HttpStatusCode.OK; ctx.Response.ContentType = "text/plain"; writer.Close(); } }
private static void TestWrite() { var bigFile = new BigFile(BIG_FILE_NAME, 10737418240); for (int i = 0; i < 10000000; i++) { var index = i % 10; var fileName = index.ToString() + ".jpg"; var buffer = File.ReadAllBytes(fileName); var bufferLength = buffer.Length; var offset = bigFile.Write(buffer); var msg = string.Format("{0},{1},{2},{3}\n", offset, bufferLength, fileName, i); WriteMsg(BIG_FILE_NAME + ".txt", msg); Console.Write(msg); } }