コード例 #1
0
        public FileUploadResponse UploadFile2(FileUploadRequest request)
        {
            Debug.WriteLine("Upload2 Request Received", "STREAMSERVICE");
            string serverName = string.Format(CultureInfo.CurrentCulture,
                                              "{0}-{1}.{2}",
                                              Path.GetFileNameWithoutExtension(request.Metadata.FileName),
                                              Guid.NewGuid(),
                                              Path.GetExtension(request.Metadata.FileName));

            request.Metadata.FileName = serverName;
            UploadFile(request);
            var response = new FileUploadResponse
            {
                SessionFileName = serverName
            };

            return(response);
        }
コード例 #2
0
        public void UploadFile(FileUploadRequest request)
        {
            Debug.WriteLine("Upload Request Received", "STREAMSERVICE");
            FileStream targetStream;
            var        sourceStream = request.FileByteStream;

            const string uploadFolder = @"C:\temp\";
            var          filename     = request.Metadata.FileName;
            var          filePath     = Path.Combine(uploadFolder, filename);

            Debug.WriteLine(string.Format(CultureInfo.CurrentCulture,
                                          "Saving File to {0}",
                                          filePath),
                            "STREAMSERVICE");

            var size = 0;

            using (targetStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                //read from the input stream in 4K chunks
                //and save to output stream
                const int bufferLen = 4096;
                var       buffer    = new byte[bufferLen];
                int       count;
                while ((count = sourceStream.Read(buffer, 0, bufferLen)) > 0)
                {
                    size += count;
                    targetStream.Write(buffer, 0, count);
                    Debug.WriteLine(string.Format(CultureInfo.CurrentCulture,
                                                  "Uploaded {0} bytes to service",
                                                  size),
                                    "STREAMSERVICE");
                }
                targetStream.Close();
                sourceStream.Close();
            }
            Debug.WriteLine(string.Format(CultureInfo.CurrentCulture,
                                          "Saved {0} bytes to file",
                                          size),
                            "STREAMSERVICE");
        }