private void Send(FileItem item, AutoExportPluginConfig configData) { try { configData.IsRedy = false; configData.IsError = false; var conf = new FtpPluginViewModel(configData); var outfile = PhotoUtils.ReplaceExtension(Path.GetTempFileName(), Path.GetExtension(item.Name)); outfile = AutoExportPluginHelper.ExecuteTransformPlugins(item, configData, outfile); using (FtpClient conn = new FtpClient()) { conn.Host = conf.Server; if (conf.Port > 0) { conn.Port = conf.Port; } conn.Credentials = new NetworkCredential(conf.User, conf.Pass); if (!string.IsNullOrWhiteSpace(conf.ServerPath)) { conn.SetWorkingDirectory(conf.ServerPath); } using (Stream ostream = conn.OpenWrite(item.Name)) { try { var data = File.ReadAllBytes(outfile); ostream.Write(data, 0, data.Length); } finally { ostream.Close(); } } } // remove unused file if (outfile != item.FileName) { PhotoUtils.WaitForFile(outfile); File.Delete(outfile); } } catch (Exception exception) { Log.Error("Error senf ftp file", exception); configData.IsError = true; configData.Error = exception.Message; } configData.IsRedy = true; }
private void Send(FileItem item, AutoExportPluginConfig configData) { try { var filename = item.FileName; configData.IsRedy = false; configData.IsError = false; var conf = new FtpPluginViewModel(configData); var outfile = Path.Combine(Path.GetTempPath(), Path.GetFileName(filename)); outfile = AutoExportPluginHelper.ExecuteTransformPlugins(item, configData, outfile); using (FtpClient conn = new FtpClient()) { conn.Host = conf.Server; conn.Credentials = new NetworkCredential(conf.User, conf.Pass); if (!string.IsNullOrWhiteSpace(conf.ServerPath)) conn.SetWorkingDirectory(conf.ServerPath); using (Stream ostream = conn.OpenWrite(Path.GetFileName(outfile))) { try { var data = File.ReadAllBytes(outfile); ostream.Write(data, 0, data.Length); } finally { ostream.Close(); } } } // remove unused file if (outfile != item.FileName) { PhotoUtils.WaitForFile(outfile); File.Delete(outfile); } } catch (Exception exception) { Log.Error("Error senf ftp file", exception); configData.IsError = true; configData.Error = exception.Message; } configData.IsRedy = true; }
private void Send(FileItem item, AutoExportPluginConfig configData) { try { var filename = item.FileName; configData.IsRedy = false; configData.IsError = false; var conf = new FtpPluginViewModel(configData); var outfile = Path.Combine(Path.GetTempPath(), Path.GetFileName(filename)); var tp = ServiceProvider.PluginManager.GetImageTransformPlugin(conf.TransformPlugin); outfile = tp != null && conf.TransformPlugin != BasePluginViewModel.EmptyTransformFilter ? tp.Execute(item, outfile, configData.ConfigData) : filename; using (FtpClient conn = new FtpClient()) { conn.Host = conf.Server; conn.Credentials = new NetworkCredential(conf.User, conf.Pass); if (!string.IsNullOrWhiteSpace(conf.ServerPath)) { conn.SetWorkingDirectory(conf.ServerPath); } using (Stream ostream = conn.OpenWrite(Path.GetFileName(outfile))) { try { var data = File.ReadAllBytes(outfile); ostream.Write(data, 0, data.Length); } finally { ostream.Close(); } } } } catch (Exception exception) { Log.Error("Error senf ftp file", exception); configData.IsError = true; configData.Error = exception.Message; } configData.IsRedy = true; }