添加项目文件。
This commit is contained in:
54
Print.Application/Print/PrintExtension.cs
Normal file
54
Print.Application/Print/PrintExtension.cs
Normal file
@ -0,0 +1,54 @@
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace JingGong.Abp.Print.GoDEX
|
||||
{
|
||||
public static class PrintExtension
|
||||
{
|
||||
public static void AddGoDEX(this IApplicationBuilder applicationBuilder)
|
||||
{
|
||||
//注:docker运行时需添加环境变量:#ENV LD_LIBRARY_PATH=/app/libx64:$LD_LIBRARY_PATH
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libezio.so.1.1.0", "libx64/libezio.so.1.1.0");
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libttf_x64.so", "libx64/libttf_x64.so");
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libusb-1.0.so.0.3.0", "libx64/libusb-1.0.so.0");
|
||||
|
||||
//临时解决环境变量未生效问题
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libezio.so.1.1.0", "libezio.so.1.1.0");
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libttf_x64.so", "libttf_x64.so");
|
||||
ExtractResourceToFile("JingGong.Abp.Print.GoDEX.x64lib.libusb-1.0.so.0.3.0", "libusb-1.0.so.0");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 释放资源文件至本地文件
|
||||
/// </summary>
|
||||
/// <param name="resourceName"></param>
|
||||
/// <param name="fileFullName"></param>
|
||||
internal static void ExtractResourceToFile(string resourceName, string fileFullName)
|
||||
{
|
||||
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
|
||||
{
|
||||
if (stream == null)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
var dir = Path.GetDirectoryName(fileFullName);
|
||||
|
||||
if (!string.IsNullOrEmpty(dir) && !Directory.Exists(dir))
|
||||
Directory.CreateDirectory(dir);
|
||||
|
||||
using (FileStream fileStream = new FileStream(fileFullName, FileMode.Create, FileAccess.Write))
|
||||
{
|
||||
stream.CopyTo(fileStream);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Console.WriteLine($"写入{fileFullName}失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user