Commit bef2c9fd by wangonghui

媒体库图片的导出

parent efe32190
...@@ -114,6 +114,18 @@ namespace VIZ.Package.Domain ...@@ -114,6 +114,18 @@ namespace VIZ.Package.Domain
#endregion #endregion
#region----源图
private Bitmap originThumbnailBitmap;
public Bitmap OriginThumbnailBitmap
{
get { return originThumbnailBitmap; }
set { originThumbnailBitmap = value; this.RaisePropertyChanged(nameof(OriginThumbnailBitmap)); }
}
#endregion
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
// 方法 // 方法
......
...@@ -62,12 +62,13 @@ namespace VIZ.Package.Module ...@@ -62,12 +62,13 @@ namespace VIZ.Package.Module
{ {
try try
{ {
string header = string.Format("{0}GetListFile?filePath={1}", ApplicationDomainEx.MediaConfig.Url, folder.Path); string header = string.Format("{0}GetListFile?filePath={1}&isResize=false", ApplicationDomainEx.MediaConfig.Url, folder.Path);
log.Info("调用接口开始"); log.Info("调用接口开始");
var FileResult = await MediaResourceFileService.PostObjectAsync<fileListResult, string>(header, ""); var FileResult = await MediaResourceFileService.PostObjectAsync<fileListResult, string>(header, "");
log.Info("调用接口结束"); log.Info("调用接口结束");
List<MHResourceFileModel> list = new List<MHResourceFileModel>(); List<MHResourceFileModel> list = new List<MHResourceFileModel>();
// folder.Files = new System.Collections.ObjectModel.ObservableCollection<GHResourceFileModel>(); // folder.Files = new System.Collections.ObjectModel.ObservableCollection<GHResourceFileModel>();
if (FileResult.masterData == null) return;
foreach (var file in FileResult.masterData) foreach (var file in FileResult.masterData)
{ {
try try
...@@ -87,8 +88,15 @@ namespace VIZ.Package.Module ...@@ -87,8 +88,15 @@ namespace VIZ.Package.Module
GHFile.FileType = ResourceFileType.IMAGE; GHFile.FileType = ResourceFileType.IMAGE;
Image img = Bitmap.FromStream(fileResult); Image img = Bitmap.FromStream(fileResult);
// img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2); // img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2);
Bitmap bmp = new Bitmap(img);
Bitmap originBmp = new Bitmap(img);
GHFile.OriginThumbnailBitmap = originBmp;
//缩略图
img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2);
Bitmap bmp= new Bitmap(img);
GHFile.ThumbnailBitmap = bmp; GHFile.ThumbnailBitmap = bmp;
list.Add(GHFile); list.Add(GHFile);
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<MenuItem Header="创建文件夹" Command="{Binding Path=PlacementTarget.DataContext.CreateFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="创建文件夹" Command="{Binding Path=PlacementTarget.DataContext.CreateFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="删除文件夹" Command="{Binding Path=PlacementTarget.DataContext.DeleteFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="删除文件夹" Command="{Binding Path=PlacementTarget.DataContext.DeleteFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="移入文件夹" Command="{Binding Path=PlacementTarget.DataContext.MoveFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="移入文件夹" Command="{Binding Path=PlacementTarget.DataContext.MoveFloderCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="导出素材" Command="{Binding Path=PlacementTarget.DataContext.ExportFolderFilesCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
</ContextMenu> </ContextMenu>
</local:MediaResourcePanel.FolderContextMenu> </local:MediaResourcePanel.FolderContextMenu>
<local:MediaResourcePanel.FileContextMenu> <local:MediaResourcePanel.FileContextMenu>
...@@ -24,6 +25,7 @@ ...@@ -24,6 +25,7 @@
<MenuItem Header="添加文件" Command="{Binding Path=PlacementTarget.DataContext.CreateFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="添加文件" Command="{Binding Path=PlacementTarget.DataContext.CreateFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="删除文件" Command="{Binding Path=PlacementTarget.DataContext.DeleteFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="删除文件" Command="{Binding Path=PlacementTarget.DataContext.DeleteFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="移动文件" Command="{Binding Path=PlacementTarget.DataContext.MoveFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/> <MenuItem Header="移动文件" Command="{Binding Path=PlacementTarget.DataContext.MoveFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="导出素材" Command="{Binding Path=PlacementTarget.DataContext.ExportFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<!--<Separator/>--> <!--<Separator/>-->
</ContextMenu> </ContextMenu>
</local:MediaResourcePanel.FileContextMenu> </local:MediaResourcePanel.FileContextMenu>
......
...@@ -6,7 +6,9 @@ using System.Collections.Generic; ...@@ -6,7 +6,9 @@ using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Configuration; using System.Configuration;
using System.Drawing; using System.Drawing;
using System.IO;
using System.Linq; using System.Linq;
using System.Net;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
...@@ -51,6 +53,10 @@ namespace VIZ.Package.Module ...@@ -51,6 +53,10 @@ namespace VIZ.Package.Module
this.MoveFileCommand = new VCommand(this.MoveFile); this.MoveFileCommand = new VCommand(this.MoveFile);
this.MoveFloderCommand = new VCommand(this.MoveFileFloder); this.MoveFloderCommand = new VCommand(this.MoveFileFloder);
this.ExportFileCommand = new VCommand(this.ExprotFile);
this.ExportFolderFilesCommand = new VCommand(this.ExportFolderFiles);
this.FolderExpandCommand = new VCommand<DevExpress.Xpf.Grid.TreeList.NodeDoubleClickEventArgs>(this.FolderExpand); this.FolderExpandCommand = new VCommand<DevExpress.Xpf.Grid.TreeList.NodeDoubleClickEventArgs>(this.FolderExpand);
this.FileFilterCommand = new VCommand<ResourceFileType>(this.FileFilter); this.FileFilterCommand = new VCommand<ResourceFileType>(this.FileFilter);
this.FileRowFilterCommand = new DevExpress.Mvvm.DelegateCommand<RowFilterArgs>(this.FileRowFilter); this.FileRowFilterCommand = new DevExpress.Mvvm.DelegateCommand<RowFilterArgs>(this.FileRowFilter);
...@@ -132,7 +138,7 @@ namespace VIZ.Package.Module ...@@ -132,7 +138,7 @@ namespace VIZ.Package.Module
get { return selectedFileModel; } get { return selectedFileModel; }
set set
{ {
selectedFileModel = value; selectedFileModel = value;
this.RaisePropertyChanged(nameof(SelectedFileModel)); this.RaisePropertyChanged(nameof(SelectedFileModel));
this.OnSelectedFileModelChanged?.Invoke(this, new MHResourceSelectedFileChangedEventArgs { File = value }); this.OnSelectedFileModelChanged?.Invoke(this, new MHResourceSelectedFileChangedEventArgs { File = value });
} }
...@@ -449,7 +455,7 @@ namespace VIZ.Package.Module ...@@ -449,7 +455,7 @@ namespace VIZ.Package.Module
string[] fileNames = ofd.FileNames; string[] fileNames = ofd.FileNames;
bool flag = false; bool flag = false;
foreach(var tempFileName in fileNames) foreach (var tempFileName in fileNames)
{ {
string path = System.IO.Path.GetFullPath(tempFileName); string path = System.IO.Path.GetFullPath(tempFileName);
string fileName = ThumbnailHelper.GetFileFolderName(path); string fileName = ThumbnailHelper.GetFileFolderName(path);
...@@ -472,47 +478,47 @@ namespace VIZ.Package.Module ...@@ -472,47 +478,47 @@ namespace VIZ.Package.Module
} }
//if (fileResult != null && fileResult.errCode == "0") //if (fileResult != null && fileResult.errCode == "0")
//{ //{
//try //try
//{ //{
// //MHResourceFileModel fileModel = new MHResourceFileModel(); // //MHResourceFileModel fileModel = new MHResourceFileModel();
//if (ThumbnailHelper.IsImageByName(fileName)) //if (ThumbnailHelper.IsImageByName(fileName))
//{ //{
// Image image = ThumbnailHelper.GetImage(path, 100, 200); // Image image = ThumbnailHelper.GetImage(path, 100, 200);
// Bitmap btm = new Bitmap(image); // Bitmap btm = new Bitmap(image);
// fileModel.ThumbnailBitmap = btm; // fileModel.ThumbnailBitmap = btm;
// fileModel.FileType = ResourceFileType.IMAGE; // fileModel.FileType = ResourceFileType.IMAGE;
// fileModel.Name = fileName; // fileModel.Name = fileName;
// this.FileModels.Add(fileModel); // this.FileModels.Add(fileModel);
//} //}
//else if (ThumbnailHelper.IsVideo(fileName)) //else if (ThumbnailHelper.IsVideo(fileName))
//{ //{
// string vedioImage = string.Format("{0}{1}", System.Environment.CurrentDirectory, "\\Resource\\VedioImage\\Vedio.jpeg"); // string vedioImage = string.Format("{0}{1}", System.Environment.CurrentDirectory, "\\Resource\\VedioImage\\Vedio.jpeg");
// Image image = ThumbnailHelper.GetImage(vedioImage, 100, 200); // Image image = ThumbnailHelper.GetImage(vedioImage, 100, 200);
// Bitmap btm = new Bitmap(image); // Bitmap btm = new Bitmap(image);
// fileModel.ThumbnailBitmap = btm; // fileModel.ThumbnailBitmap = btm;
// fileModel.FileType = ResourceFileType.Video; // fileModel.FileType = ResourceFileType.Video;
// fileModel.Name = fileName; // fileModel.Name = fileName;
// this.FileModels.Add(fileModel); // this.FileModels.Add(fileModel);
//} //}
// } // }
//catch (Exception ex) //catch (Exception ex)
//{ //{
// log.Error(ex.Message); // log.Error(ex.Message);
//} //}
// } // }
} }
if(flag) if (flag)
{ {
if(this.SelectedFolderModel!=null) if (this.SelectedFolderModel != null)
{ {
this.mediaResourceFileController.UpdateFileModels(this.SelectedFolderModel); this.mediaResourceFileController.UpdateFileModels(this.SelectedFolderModel);
} }
} }
} }
} }
#endregion 创建文件 #endregion 创建文件
...@@ -571,6 +577,104 @@ namespace VIZ.Package.Module ...@@ -571,6 +577,104 @@ namespace VIZ.Package.Module
/// <summary>
/// 导出文件夹的素材
/// </summary>
public VCommand ExportFolderFilesCommand { get; set; }
private void ExportFolderFiles()
{
if (SelectedFolderModel == null || FileModels == null) return;
try
{
System.Windows.Forms.FolderBrowserDialog ofd = new System.Windows.Forms.FolderBrowserDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = ofd.SelectedPath;
foreach (var fileModel in FileModels)
{
string filePath = String.Format("{0}\\{1}", path, fileModel.Name);
if (!File.Exists(filePath))
{
fileModel.OriginThumbnailBitmap.Save(filePath);
}
}
DXMessageBox.Show("素材导出成功");
}
}
catch (Exception ex)
{
DXMessageBox.Show("素材导出失败");
log.Error(ex.Message);
}
}
/// <summary>
/// 导入文件素材
/// </summary>
public VCommand ExportFileCommand { get; set; }
private void ExprotFile()
{
//if (SelectedFileModel == null) return;
//var saveFileDialog1 = new SaveFileDialog
//{
// Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif",
// Title = "Save File"
//};
//saveFileDialog1.ShowDialog();
//if (string.IsNullOrEmpty(saveFileDialog1.FileName)) return;
//Bitmap bitmap = SelectedFileModel.ThumbnailBitmap;
//bitmap.Save(saveFileDialog1.FileName);
//using (var sw = new StreamWriter(selectedFileModel.ThumbnailBitmap))
//{
// sw.Write("Writing Text ");
// sw.WriteLine("Here we go.");
// sw.WriteLine("-------------------");
// sw.Write("Today is is: " + DateTime.Now);
// sw.WriteLine("Done");
//}
if (SelectedFileModel == null) return;
try
{
System.Windows.Forms.FolderBrowserDialog ofd = new System.Windows.Forms.FolderBrowserDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = ofd.SelectedPath;
string filePath = String.Format("{0}\\{1}", path, SelectedFileModel.Name);
if (!File.Exists(filePath))
{
SelectedFileModel.OriginThumbnailBitmap.Save(filePath);
}
DXMessageBox.Show("素材导出成功");
}
}
catch (Exception ex)
{
DXMessageBox.Show("素材导出失败");
log.Error(ex.Message);
}
}
public VCommand MoveFloderCommand { get; set; } public VCommand MoveFloderCommand { get; set; }
/// <summary> /// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment