private bool UploadFiles(BllFilepathLib lib) { string foldername = Event.Name + " " + DateTime.Now.ToString("dd.MM.yy H-mm-ss"); Event.FilepathLib.FolderName = foldername; foreach (var path in Filepaths) { string fileName = Path.GetFileName(path); using (Stream uploadStream = new FileStream(path, FileMode.Open)) { using (FileServiceClient fileService = new FileServiceClient()) { var msg = new FileUploadMessage() { VirtualPath = fileName, DataStream = uploadStream, FolderName = foldername }; fileService.PutFile(msg); } } Event.FilepathLib.Entities.Add(new BllFilepath { Path = fileName }); } //} return(true); }
public static void Download(ChordNode node, string file, string pathToDownload, bool from) { var fileStream = ChordServer.Instance(node).GetStream(file, from); var request = new FileUploadMessage(); var fileMetadata = new FileMetaData(file); request.Metadata = fileMetadata; request.FileByteStream = fileStream; FileStream outfile = null; outfile = new FileStream(pathToDownload + file, FileMode.Create); const int bufferSize = 65536; // 64K byte[] buffer = new byte[bufferSize]; int bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize); while (bytesRead > 0) { outfile.Write(buffer, 0, bytesRead); bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize); } }
/// <summary> /// 存储图片 /// </summary> /// <param name="postedFile"></param> /// <param name="fileUploadMessage"></param> /// <param name="width">宽</param> /// <param name="height">高</param> /// <returns></returns> private static FileMessage SaveImage(HttpPostedFileBase postedFile, FileUploadMessage fileUploadMessage, out int width, out int height) { var client = _imageService; width = height = 0; try { if (postedFile.InputStream.CanRead) { System.Drawing.Image image = System.Drawing.Image.FromStream(postedFile.InputStream); width = image.Width; height = image.Height; //byte[] content = new byte[postedFile.ContentLength + 1]; //postedFile.InputStream.Read(content, 0, postedFile.ContentLength); //inValue.FileData = new MemoryStream(content); fileUploadMessage.FileData = postedFile.InputStream; client.UploadFileAndReturnInfo(fileUploadMessage); fileUploadMessage.FileData.Close(); fileUploadMessage.FileData.Dispose(); } else { _logger.Warn("图片文件不能读取"); return(FileMessage.UnknowError); } return(FileMessage.Success); } catch (Exception ex) { _logger.Error(ex); return(FileMessage.UnknowError); } }
static void Main(string[] args) { AppDomain.CreateDomain("Server").DoCallBack(delegate { ServiceHost host = new ServiceHost(typeof(UpLoadService), new Uri("http://localhost:1630/UpLoadService.svc")); BasicHttpBinding binding = new BasicHttpBinding(); binding.TransferMode = TransferMode.Streamed; binding.MaxReceivedMessageSize = 67108864; host.AddServiceEndpoint(typeof(IUpLoadService), binding, ""); host.Open(); }); BasicHttpBinding binding2 = new BasicHttpBinding(); binding2.TransferMode = TransferMode.Streamed; IUpLoadService channel = ChannelFactory <IUpLoadService> .CreateChannel(binding2, new EndpointAddress("http://localhost:1630/UpLoadService.svc")); using (channel as IDisposable) { FileUploadMessage file = new FileUploadMessage(); file.SavePath = "ppp"; file.FileName = "safs.bak"; file.FileData = new FileStream("D:/work/C#/lll.bak", FileMode.Open); channel.UploadFile(file); file.FileData.Close(); } }
private void btnInvokeByHand_Click(object sender, EventArgs e) { string fileName = SelectFile(); if (string.IsNullOrEmpty(fileName)) { return; } this.Cursor = Cursors.WaitCursor; FileStream stream = File.OpenRead(fileName); var req = new FileUploadMessage(fileName.Substring(fileName.LastIndexOf('\\') + 1), "", stream); BasicHttpBinding binding = new BasicHttpBinding(); binding.TransferMode = TransferMode.Streamed; binding.MessageEncoding = WSMessageEncoding.Mtom; binding.MaxReceivedMessageSize = 9223372036854775807; binding.SendTimeout = new TimeSpan(0, 0, 10, 0); // 设置十分钟超时 IUpLoadService channel = ChannelFactory <IUpLoadService> .CreateChannel(binding, new EndpointAddress("http://localhost:62805/UpLoadService.svc")); using (channel as IDisposable) { channel.UploadFile(req); stream.Close(); this.Cursor = Cursors.Default; MessageBox.Show("文件上传到服务器成功", "上传WCF", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void SendFile(IFormFile file) { var node = GetValidNode(); try { if (node != null) { var key = ChordServer.GetHash(file.FileName); var request = new FileUploadMessage(); var fileMetadata = new FileMetaData(file.FileName); request.Metadata = fileMetadata; request.FileByteStream = file.OpenReadStream(); var conteinerNode = ChordServer.CallFindContainerKey(node, key); ChordServer.Instance(conteinerNode).AddNewFile(request); request.FileByteStream.Close(); } } catch (Exception e) { DHTChord.Logger.Logger.Log(DHTChord.Logger.Logger.LogLevel.Error, "Sending file", $"Error during sending file {file.FileName} {e.ToString()}"); SendFile(file); } }
public async Task SendMessage(ResponseMessage responseMessage) { SlackChatHub chatHub = await GetChatHub(responseMessage); if (chatHub != null) { if (responseMessage is TypingIndicatorMessage) { _logger.LogInformation($"Indicating typing on channel '{chatHub.Name}'"); await _connection.IndicateTyping(chatHub); } else if (responseMessage is FileUploadMessage) { FileUploadMessage msg = (FileUploadMessage)responseMessage; await _connection.Upload(chatHub, msg.FilePath); } else { var botMessage = new BotMessage { ChatHub = chatHub, Text = responseMessage.Text, Attachments = GetAttachments(responseMessage.Attachments) }; string textTrimmed = botMessage.Text.Length > 50 ? botMessage.Text.Substring(0, 50) + "..." : botMessage.Text; _logger.LogInformation($"Sending message '{textTrimmed}'"); await _connection.Say(botMessage); } } else { _logger.LogError($"Unable to find channel for message '{responseMessage.Text}'. Message not sent"); } }
public void UploadFileMethod(string FileName, System.IO.Stream FileData) { FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = FileName; inValue.FileData = FileData; ((IFileTransSvc)(this)).UploadFileMethod(inValue); }
/// <summary> /// restricted to upload image file , for staging purpose /// </summary> /// <param name="file"></param> /// <param name="key"></param> /// <param name="fileInfor"></param> /// <param name="p2"></param> /// <returns></returns> internal static FileMessage UploadFile(FileInfo file, string key, out FileInfor fileInfor, string p2) { var client = _imageService; string fileKey; string fileExt; fileInfor = new FileInfor(); FileMessage f = client.GetFileName(key, (int)file.Length, file.Name, file.Extension, out fileKey, out fileExt); if (f == FileMessage.Success) { fileInfor.FileName = fileKey; fileInfor.FileSize = (int)file.Length; fileInfor.FileExtName = fileExt; fileInfor.ResourceType = ContentType.GetResourceType(fileExt); try { FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = fileKey; inValue.KeyName = key; inValue.FileExt = fileExt; inValue.SaveOrigin = true; using (var fileHR = file.OpenRead()) { inValue.FileData = fileHR; int width, height; using (var image = System.Drawing.Image.FromStream(fileHR)) { width = image.Width; height = image.Height; } fileHR.Seek(0, SeekOrigin.Begin); fileInfor.Width = width; fileInfor.Height = height; client.UploadFileAndReturnInfo(inValue); fileHR.Close(); } return(FileMessage.Success); } catch { return(FileMessage.UnknowError); } } else { return(f); } }
bool RunCalculation(string pFile) { if (pFile == string.Empty) { WriteInfoError("Kötelező megadni fájlt!"); return(false); } if (!File.Exists(pFile)) { WriteInfoError("A megadott fájl nem létezik!"); return(false); } const long maxFileSize = 1024 * 46; //1024 * 10; FileInfo fi = new FileInfo(pFile); if (fi.Length > maxFileSize) { WriteInfoError(string.Concat("A fájl túl nagy! Megengedett maximális fájlméret: ", maxFileSize, ".", Environment.NewLine, "Megadott fájl mérete: ", fi.Length, ".", Environment.NewLine, "Mert béna vagyok és egyenlőre még nem tudom miért nem tud nagyobb méretet átküldeni.", Environment.NewLine, "Azt mondják, a tudatlanság boldoggá tesz. Engem ku...ra idegesít!", Environment.NewLine, "Ez nem jött be:", Environment.NewLine, "maxBufferPoolSize=2147483647 maxBufferSize=2147483647 maxReceivedMessageSize=2147483647")); return(false); } FileStream fs = null; FileDownloadReturnMessage fdrm; try { fs = File.Open(pFile, FileMode.Open); FileUploadMessage fum = new FileUploadMessage(Path.GetFileName(pFile), token, fs); try { WriteInfoMessage("A feldolgozás folyamatban ...!"); fdrm = client.RunCalculation(fum); //token return(true); } catch (FaultException <FaultTextAnalytics> ex) { WriteInfoError($"A fájl feldolgozása a következő hibával állt le: { ex.Detail.ErrorText }."); return(false); } } finally { if (fs != null) { fs.Close(); } } }
public void PutFileWithPath(FileUploadMessage msg) { try { base.Channel.PutFileWithPath(msg); } catch (Exception err) { throw (new SystemException(err.Message)); } }
/// <summary> /// 上传文件并返回缩略图大小a /// </summary> /// <param name="postedFile">上传的文件对象</param> /// <param name="key">服务端配置索引名</param> /// <param name="fileInfor">文件上传后返回的信息对象</param> /// <param name="thumbnailInfo">缩略图信息</param> /// <returns></returns> public static FileMessage UploadFileAndReturnInfo(HttpPostedFileBase postedFile, string key, out FileInfor fileInfor, out ThumbnailInfo thumbnailInfo) { ImageServiceClientProxy client = new ImageServiceClientProxy(); string fileKey; string fileExt; fileInfor = new FileInfor(); thumbnailInfo = new ThumbnailInfo(); FileMessage f = client.GetFileName(key, postedFile.ContentLength, postedFile.FileName, out fileKey, out fileExt); if (f == FileMessage.Success) { try { fileInfor.FileName = fileKey; fileInfor.FileSize = postedFile.ContentLength; fileInfor.FileExtName = fileExt; FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = fileKey; inValue.KeyName = key; inValue.FileExt = fileExt; inValue.SaveOrigin = true; if (postedFile.InputStream.CanRead) { //byte[] content = new byte[postedFile.ContentLength + 1]; //postedFile.InputStream.Read(content, 0, postedFile.ContentLength); //inValue.FileData = new MemoryStream(content); inValue.FileData = postedFile.InputStream; thumbnailInfo = client.UploadFileAndReturnInfo(inValue); inValue.FileData.Close(); inValue.FileData.Dispose(); } else { return(FileMessage.UnknowError); } return(FileMessage.Success); } catch { return(FileMessage.UnknowError); } } else { return(f); } }
public Stream FindFile(string fileName) { var node = GetValidNode(); try { if (node != null) { var where = AIRfly.Download.Error; var key = ChordServer.GetHash(fileName); var instance = ChordServer.Instance(node); if (instance.ContainKey(key)) { where = AIRfly.Download.DataBase; } else if (instance.ContainInCache(fileName)) { where = AIRfly.Download.Cache; } else { var conteinerNodeInstance = ChordServer.Instance(ChordServer.CallFindContainerKey(node, key)); if (conteinerNodeInstance.ContainKey(key)) { var fileStream = conteinerNodeInstance.GetStream(fileName, false); var request = new FileUploadMessage(); var fileMetadata = new FileMetaData(fileName); request.Metadata = fileMetadata; request.FileByteStream = fileStream; instance.AddCacheFile(request); where = AIRfly.Download.Cache; } } if (AIRfly.Download.Error != where) { return(Download(node, fileName, where == AIRfly.Download.Cache)); } } } catch (Exception e) { DHTChord.Logger.Logger.Log(DHTChord.Logger.Logger.LogLevel.Error, "Find file", $"Error during finding file {fileName} {e.ToString()}"); FindFile(fileName); } return(null); }
/// <summary> /// 上传文件并返回缩略图大小 /// </summary> /// <param name="postedFile">上传的文件对象</param> /// <param name="key">服务端配置索引名</param> /// <param name="fileInfor">文件上传后返回的信息对象</param> /// <param name="thumbnailInfo">缩略图信息</param> /// <returns></returns> public static FileMessage UploadFileAndReturnInfo(string key, Stream inputStream, int contentLength, string fileName, out FileInfor fileInfor, out ThumbnailInfo thumbnailInfo) { ImageServiceClientProxy client = new ImageServiceClientProxy(); string fileKey; string fileExt; fileInfor = new FileInfor(); thumbnailInfo = new ThumbnailInfo(); FileMessage f = client.GetFileName(key, contentLength, fileName, out fileKey, out fileExt); if (f == FileMessage.Success) { try { fileInfor.FileName = fileKey; fileInfor.FileSize = contentLength; FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = fileKey; inValue.KeyName = key; inValue.FileExt = fileExt; inValue.SaveOrigin = true; if (inputStream.CanRead) { inValue.FileData = inputStream; thumbnailInfo = client.UploadFileAndReturnInfo(inValue); inValue.FileData.Close(); inValue.FileData.Dispose(); } else { return(FileMessage.UnknowError); } return(FileMessage.Success); } catch { return(FileMessage.UnknowError); } } else { return(f); } }
/// <summary> /// 将文件从客户端传到服务器 /// </summary> /// <param name="msg"></param> public void PutFile(FileUploadMessage msg) { string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, msg.VirtualPath); string dir = Path.GetDirectoryName(filePath); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } using (var outputStream = new FileStream(filePath, FileMode.Create)) { msg.DataStream.CopyTo(outputStream); } SendFileUploaded(filePath); }
public async Task Upload(IFormFile file) { var connectionString = _configuration["AzureStorageConnectionString"]; if (file.Length > 0) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString); var blobCient = storageAccount.CreateCloudBlobClient(); var queueClient = storageAccount.CreateCloudQueueClient(); var blobContainer = blobCient.GetContainerReference("uploadfiles"); await blobContainer.CreateIfNotExistsAsync(); var blobName = file.FileName + DateTime.Now.Ticks; var blob = blobContainer.GetBlockBlobReference(blobName); var queue = queueClient.GetQueueReference("uploadfiles"); await queue.CreateIfNotExistsAsync(); using (var stream = file.OpenReadStream()) { await blob.UploadFromStreamAsync(stream, file.Length); blob.Properties.ContentType = file.ContentType; } var message = new FileUploadMessage { FileName = file.FileName, BlobName = blobName, Metadata = new Dictionary <string, string>() }; foreach (var header in file.Headers) { message.Metadata.Add(header.Key, header.Value); } var json = JsonConvert.SerializeObject(message, Formatting.Indented); CloudQueueMessage queueMessage = new CloudQueueMessage(json); await queue.AddMessageAsync(queueMessage, new TimeSpan(1, 0, 0), TimeSpan.Zero, new QueueRequestOptions(), new OperationContext()); } }
/// <summary> /// Uploads a file into the repository /// </summary> public void PutFile(FileUploadMessage msg) { var filePath = msg.VirtualPath; var dir = Path.GetDirectoryName(filePath); if (dir != null && !Directory.Exists(dir)) { Directory.CreateDirectory(dir); } using (var outputStream = new FileStream(filePath, FileMode.Create)) { msg.DataStream.CopyTo(outputStream); } SendFileUploaded(filePath); }
public static void Send(string fileName, string path, ChordNode node) { var key = ChordServer.GetHash(fileName); Stream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read); var request = new FileUploadMessage(); var fileMetadata = new FileMetaData(fileName); request.Metadata = fileMetadata; request.FileByteStream = fileStream; var conteinerNode = ChordServer.CallFindContainerKey(node, key); ChordServer.Instance(conteinerNode).AddNewFile(request); }
public static async void Run([QueueTrigger("uploadfiles", Connection = "AzureQueue")] FileUploadMessage message, [Blob("uploadfiles/{BlobName}", FileAccess.Read)] Stream file, TraceWriter log, ExecutionContext context) { var azureServiceTokenProvider = new AzureServiceTokenProvider(); var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback)); var connectionString = (await keyVaultClient.GetSecretAsync(GetKeyVaultEndpoint(), "AdventureWorksConnectionString")).Value; log.Info($"C# Queue trigger function processed: {message.FileName}"); if (file != null) { byte[] fileContent = new byte[file.Length]; await file.ReadAsync(fileContent, 0, (int)file.Length); FileRepository repository = new FileRepository(connectionString); repository.AddFile(message.FileName, message.Metadata, fileContent); } }
private void btnSelectFile_Click(object sender, EventArgs e) { string fileName = SelectFile(); if (string.IsNullOrEmpty(fileName)) { return; } this.Cursor = Cursors.WaitCursor; FileStream stream = File.OpenRead(fileName); IUpLoadService service = new UpLoadServiceClient(); var req = new FileUploadMessage(fileName.Substring(0, fileName.LastIndexOf('.')), "", stream); service.UploadFile(req); stream.Close(); this.Cursor = Cursors.Default; MessageBox.Show("文件上传到服务器成功", "上传WCF", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void TransferFile(SMC_PushDll dll) { if (dll == null) { return; } string path = dll.pd_path + dll.pd_zip_filename; if (!System.IO.File.Exists(path)) { return; } FileStream fs = new FileStream(path, FileMode.Open); FileTransSvcClient ftsc = new FileTransSvcClient(); ftsc.Open(); #region 文件 FileUploadMessage myFileMessage = new FileUploadMessage(); myFileMessage.FileName = dll.pd_zip_filename;//"PushSharp-master.zip"; //文件名 { myFileMessage.FileData = fs; IFileTransSvc intfFileTrans = ftsc.ChannelFactory.CreateChannel(); try { intfFileTrans.UploadFileMethod(myFileMessage); } catch { } finally { fs.Close(); fs.Dispose(); } } #endregion ftsc.Close(); }
public void PutFile(FileUploadMessage msg) { string storage = Pipeline.Properties.Resources.ResourceManager.GetString("STORAGE_PATH"); string fileFolder = Path.Combine(storage, msg.FolderName); string filePath = Path.Combine(fileFolder, msg.VirtualPath); if (!Directory.Exists(storage)) { Directory.CreateDirectory(storage); } if (!Directory.Exists(fileFolder)) { Directory.CreateDirectory(fileFolder); } using (var outputStream = new FileStream(filePath, FileMode.Create)) { msg.DataStream.CopyTo(outputStream); } }
public void UploadFile(FileUploadMessage request) { //获得客户端信息 OperationContext context = OperationContext.Current; MessageProperties messageProperties = context.IncomingMessageProperties; RemoteEndpointMessageProperty endpointProperty = (RemoteEndpointMessageProperty)messageProperties[RemoteEndpointMessageProperty.Name]; //Console.WriteLine("客户端" + endpointProperty.Address + "端口:" + endpointProperty.Port + "开始上传文件" + request.FileName + "....."); String fileName = request.FileName; Stream sourceStream = request.FileData; FileStream targetStream = null; String saveFilePath = Path.Combine(uploadFolder, request.FileName); byte[] buffer = new byte[bufferLen]; Int32 count = 0; if (sourceStream.CanRead) { //如果文件目录不存在,创建文件所存放的目录. if (!Directory.Exists(uploadFolder)) { Directory.CreateDirectory(uploadFolder); } targetStream = new FileStream(saveFilePath, FileMode.Create, FileAccess.Write, FileShare.None); while ((count = sourceStream.Read(buffer, 0, bufferLen)) > 0) { targetStream.Write(buffer, 0, count); } targetStream.Close(); sourceStream.Close(); Console.WriteLine("文件" + request.FileName + "传输完毕,存放路径:" + saveFilePath); } else { Console.WriteLine("数据流不可读."); throw new Exception("数据流不可读!"); } }
/// <summary> /// Uploads a file into the repository /// </summary> public void PutFile(FileUploadMessage msg) { string filePath = Path.Combine(RepositoryDirectory, msg.VirtualPath); if (ConfigurationSettings.AppSettings != null) { string dir = Path.GetDirectoryName(ConfigurationSettings.AppSettings["TemplatePath"].ToString(CultureInfo.InvariantCulture) + "\\" + filePath); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } } using (var outputStream = new FileStream(ConfigurationSettings.AppSettings["TemplatePath"].ToString(CultureInfo.InvariantCulture) + "\\" + filePath, FileMode.Create, FileAccess.ReadWrite)) { msg.DataStream.CopyTo(outputStream); outputStream.Close(); } SendFileUploaded(ConfigurationSettings.AppSettings["TemplatePath"].ToString(CultureInfo.InvariantCulture) + "\\" + filePath); }
public static void Find(string fileName, ChordNode node, string pathToDownload) { var where = Client.Download.Error; var key = ChordServer.GetHash(fileName); var instance = ChordServer.Instance(node); if (instance.ContainKey(key)) { where = Client.Download.DataBase; } else if (instance.ContainInCache(fileName)) { where = Client.Download.Cache; } else { var conteinerNodeInstance = ChordServer.Instance(ChordServer.CallFindContainerKey(node, key)); if (conteinerNodeInstance.ContainKey(key)) { var fileStream = conteinerNodeInstance.GetStream(fileName, false); var request = new FileUploadMessage(); var fileMetadata = new FileMetaData(fileName); request.Metadata = fileMetadata; request.FileByteStream = fileStream; instance.AddCacheFile(request); where = Client.Download.Cache; } } if (Client.Download.Error != where) { Download(node, fileName, pathToDownload, where == Client.Download.Cache); } }
/// <summary> /// 存储声音文件 /// </summary> /// <param name="fileUploadMessage"></param> /// <returns></returns> private static FileMessage SaveSound(FileUploadMessage fileUploadMessage, out long Length) { var client = _imageService; var t = client.UploadFileAndReturnInfo(fileUploadMessage); Length = 0; if (t != null) { if (t.Sizes != null) { ImageSize v; if (t.Sizes.TryGetValue(fileUploadMessage.KeyName, out v)) { Length = v.Length; } } } fileUploadMessage.FileData.Close(); fileUploadMessage.FileData.Dispose(); return(FileMessage.Success); }
private void TransferFile(SMC_PushDll dll) { if (dll == null) return; string path = dll.pd_path + dll.pd_zip_filename; if (!System.IO.File.Exists(path)) return; FileStream fs = new FileStream(path, FileMode.Open); FileTransSvcClient ftsc = new FileTransSvcClient(); ftsc.Open(); #region 上传文件 FileUploadMessage myFileMessage = new FileUploadMessage(); myFileMessage.FileName = dll.pd_zip_filename;//"PushSharp-master.zip"; //文件名 { myFileMessage.FileData = fs; IFileTransSvc intfFileTrans = ftsc.ChannelFactory.CreateChannel(); try { intfFileTrans.UploadFileMethod(myFileMessage); } catch { } finally { fs.Close(); fs.Dispose(); } } #endregion ftsc.Close(); }
/// <summary> /// 上传文件并返回缩略图大小 /// </summary> /// <param name="postedFile">上传的文件</param> /// <param name="key">服务端配置索引名</param> /// <param name="fileInfor">文件上传后返回的信息对象</param> /// <param name="thumbnailInfo">缩略图信息</param> /// <param name="userId">用户ID</param> /// <returns></returns> public static FileMessage UploadFileAndReturnInfo(HttpPostedFileBase postedFile, string key, out FileInfor fileInfor, out ThumbnailInfo thumbnailInfo, int userId) { string useridstr = userId.ToString(); if (useridstr.Length < 9) { for (int i = 0; i < (9 - useridstr.Length); i++) { useridstr = "0" + useridstr; } } string[] folders = new string[2]; folders[0] = useridstr.Substring(0, 3); folders[1] = useridstr.Substring(3, 3); ImageServiceClientProxy client = new ImageServiceClientProxy(); string fileKey; string fileExt; fileInfor = new FileInfor(); thumbnailInfo = new ThumbnailInfo(); FileMessage f = client.GetFileNameByUser(key, postedFile.ContentLength, postedFile.FileName, null, out fileKey, out fileExt, folders); if (f == FileMessage.Success) { try { fileInfor.FileName = fileKey; fileInfor.FileSize = postedFile.ContentLength; FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = fileKey; inValue.KeyName = key; inValue.FileExt = fileExt; inValue.SaveOrigin = true; if (postedFile.InputStream.CanRead) { //byte[] content = new byte[postedFile.ContentLength + 1]; //postedFile.InputStream.Read(content, 0, postedFile.ContentLength); //inValue.FileData = new MemoryStream(content); inValue.FileData = postedFile.InputStream; thumbnailInfo = client.UploadFileAndReturnInfo(inValue); inValue.FileData.Close(); inValue.FileData.Dispose(); } else { return(FileMessage.UnknowError); } return(FileMessage.Success); } catch { return(FileMessage.UnknowError); } } else { return(f); } }
private void BgWorkerDoWork(object sender, DoWorkEventArgs e) { _workState = false; using ( var client = SvcClientManager.GetSvcClient<UploadServiceClient>(SvcType.UploadSvc)) { Stream stream = _sfd.OpenFile(); var file = new FileUploadMessage {Name = _fileNameExt, SaveName = FileName}; file = client.DownloadFile(file); try { if (!file.FindFile) { _bgWorker.CancelAsync(); MessageBox.Show(ResAttachment.FileNotFound); return; } if (file.Data != null) { stream.Position = 0; stream.Write(file.Data, 0, file.Data.Length); e.Result = file.Data.Length; _bgWorker.ReportProgress((int) ((file.Offset/(double) (file.Length))*100), file.Offset + file.Data.Length); if (_bgWorker.CancellationPending) return; while (file.Length > file.Offset) { file.Data = null; stream.Position = file.Offset; file = client.DownloadFile(file); stream.Write(file.Data, 0, file.Data.Length); e.Result = file.Offset; _bgWorker.ReportProgress((int) ((file.Offset/(double) (file.Length))*100), file.Offset + file.Data.Length); if (_bgWorker.CancellationPending) return; } } } catch (Exception ex) { MessageBox.Show(ErrorMsgManager.GetClientErrMsg(ex, CultureManager.UICulture)); } finally { stream.Close(); } } }
private void BgWorkerDoWork(object sender, DoWorkEventArgs e) { if (_dialog == null || _dialog.FileName == string.Empty) { MessageBox.Show(ResAttachment.SelectFirst); _workState = false; return; } using ( var client = SvcClientManager.GetSvcClient<UploadServiceClient>(SvcType.UploadSvc)) { const int maxSiz = 1024*10; //设置每次传10k Stream stream = _dialog.OpenFile(); var file = new FileUploadMessage {Name = _dialog.SafeFileName, SaveName = _newName, Length = stream.Length}; try { //循环的读取文件,上传,直到文件的长度等于文件的偏移量 if (file.Length <= 0) { _workState = false; SaveFile = false; MessageBox.Show(ResAttachment.EmptyFile); return; } while (file.Length != file.Offset) { //设置传递的数据的大小 file.Data = new byte[file.Length - file.Offset <= maxSiz ? file.Length - file.Offset : maxSiz]; stream.Position = file.Offset; //设置本地文件数据的读取位置 stream.Read(file.Data, 0, file.Data.Length); //把数据写入到file.Data中 file = client.UploadFile(file); //上传 e.Result = file.Offset; SavePath = file.SavePath; _bgWorker.ReportProgress((int) ((file.Offset/(double) (file.Length))*100), file.Offset); if (_bgWorker.CancellationPending) return; } SaveFile = true; } catch (Exception) { throw; //MessageBox.Show(ErrorMsgManager.GetClientErrMsg(ex, CultureManager.UICulture)); } finally { stream.Close(); } } }
public void UploadFile(FileUploadMessage request) { // IMPLEMENTATION HERE }
public ThumbnailInfo UploadFileAndReturnInfo(FileUploadMessage request) { return(_imageService.UploadFileAndReturnInfo(request)); }
/// <summary> /// 上传文件并返回缩略图大小a /// </summary> /// <param name="postedFile">上传的文件对象</param> /// <param name="key">服务端配置索引名</param> /// <param name="fileInfor">文件上传后返回的信息对象</param> /// <param name="thumbnailInfo">缩略图信息</param> /// <returns></returns> public static FileMessage UploadFileAndReturnInfo(HttpPostedFileBase postedFile, string key, out FileInfor fileInfor, string[] userFolder, out ThumbnailInfo thumbnailInfo) { var client = _imageService; string fileKey; string fileExt; fileInfor = new FileInfor(); thumbnailInfo = new ThumbnailInfo(); FileMessage f = client.GetFileNameByUser(key, postedFile.ContentLength, postedFile.FileName, postedFile.ContentType, out fileKey, out fileExt, userFolder); if (f == FileMessage.Success) { fileInfor.FileName = fileKey; fileInfor.FileSize = postedFile.ContentLength; fileInfor.FileExtName = fileExt; fileInfor.ResourceType = ContentType.GetResourceType(fileExt); try { FileUploadMessage inValue = new FileUploadMessage(); inValue.FileName = fileKey; inValue.KeyName = key; inValue.FileExt = fileExt; inValue.SaveOrigin = true; if (postedFile.InputStream.CanRead) { //byte[] content = new byte[postedFile.ContentLength + 1]; //postedFile.InputStream.Read(content, 0, postedFile.ContentLength); //inValue.FileData = new MemoryStream(content); inValue.FileData = postedFile.InputStream; switch (fileInfor.ResourceType) { case ResourceType.Sound: long length; var t = SaveSound(inValue, out length); fileInfor.Length = length; fileInfor.Width = (int)length; LoggerManager.Current().Warn(fileInfor.Width); return(t); } int width, height; GetSize(postedFile, out width, out height); fileInfor.Width = width; fileInfor.Height = height; thumbnailInfo = client.UploadFileAndReturnInfo(inValue); inValue.FileData.Close(); inValue.FileData.Dispose(); } else { return(FileMessage.UnknowError); } return(FileMessage.Success); } catch { return(FileMessage.UnknowError); } } else { return(f); } }
public void UploadFile(FileUploadMessage request) { _imageService.UploadFile(request); }
private void btnUpload_Click(object sender, EventArgs e) { bool typeCheck = true; for (int q = 0; q < dataGridView1.Rows.Count && typeCheck; q++) { if (!Enum.IsDefined(typeof(DefinedFileTypes), Path.GetExtension(dataGridView1.Rows[q].Cells[0].Value.ToString()).ToUpper().Replace(@".", ""))) { typeCheck = false; } } int i = 0; bool stop = false; if (fullFilePathList != null && fileToUploadList != null) { if (typeCheck) { try { List<int> ids = AddFiles(); foreach (int q in ids) { if (q == 0) { stop = true; } } if (!stop) { foreach (string fullFilePath in fullFilePathList) { using (Stream fileStream = new FileStream(fullFilePath, FileMode.Open, FileAccess.Read)) { var request = new FileUploadMessage(); var fileMetaData = new ClientApp.FileUploadService.FileMetaData(); string ft = fileToUploadList[i].Substring(fileToUploadList[i].LastIndexOf('.') + 1); fileMetaData.FileName = ids[i] + "." + ft; fileMetaData.FullLocalPath = fullFilePath; fileMetaData.FileType = (ClientApp.FileUploadService.DefinedFileTypes)Enum.Parse(typeof(ClientApp.FileUploadService.DefinedFileTypes), Path.GetExtension(fileToUploadList[i]).ToUpper().Replace(@".", "")); request.Metadata = fileMetaData; request.FileByteStream = fileStream; FileUploadMessage fum = new FileUploadMessage(fileMetaData, fileStream); client.UploadFile(fum); } i++; } client.Close(); } } catch (IOException ioException) { // throw new FileTransferProxyException("Unable to open the file to upload"); MessageBox.Show("File error!" + ioException); } catch (Exception ex) { //throw new FileTransferProxyException(e.Message); MessageBox.Show("Error in upload, please try again. If this continue contact administrator :(" + ex); } finally { lblError.Text = "File uploaded"; } } else { MessageBox.Show("Bad filetype(s)"); } } else { MessageBox.Show("no files seleced"); } }
private void btnUpload_Click(object sender, EventArgs e) { //if (Enum.GetNames(typeof(DefinedFileTypes)).Equals(Path.GetExtension(fileToUpload).ToUpper().Replace(@".", ""))) if (Enum.IsDefined(typeof(DefinedFileTypes), Path.GetExtension(fileToUpload).ToUpper().Replace(@".", ""))) { try { int id = AddFile(txtFileName.Text, txtDesc.Text); if (id != 0) { using (Stream fileStream = new FileStream(fullFilePath, FileMode.Open, FileAccess.Read)) { var request = new FileUploadMessage(); var fileMetaData = new ClientApp.FileUploadService.FileMetaData(); string ft = fileToUpload.Substring(fileToUpload.LastIndexOf('.') + 1); fileMetaData.FileName = id.ToString() + "." + ft; fileMetaData.FullLocalPath = fullFilePath; fileMetaData.FileType = (DefinedFileTypes)Enum.Parse(typeof(DefinedFileTypes), Path.GetExtension(fileToUpload).ToUpper().Replace(@".", "")); request.Metadata = fileMetaData; request.FileByteStream = fileStream; FileUploadMessage fum = new FileUploadMessage(fileMetaData, fileStream); client.UploadFile(fum); } client.Close(); } } catch (IOException ioException) { // throw new FileTransferProxyException("Unable to open the file to upload"); MessageBox.Show("File error!" + ioException); } catch (Exception ex) { //throw new FileTransferProxyException(e.Message); MessageBox.Show("Error in upload, please try again. If this continue contact administrator :(" + ex); } finally { lblError.ForeColor = System.Drawing.Color.Green; lblError.Text = "File uploaded"; } } else MessageBox.Show("Come on man, you need to select a file ;) \n or this is a bad filetype we don't allow"); }