如何将变量传递给 MagicImage
How to pass variable into MagicImage
我正在尝试使用 MagicImage 将 HEIC 转换为 JPEG,因此我的 newFile.Data 包含发送到服务器的图像的字节 []。所以我很确定我的代码是正确的,但是当我将图像发送到服务器时,即网络它以 HEIC 格式上传,但我需要它的 jpeg 格式。所以我被困在这里,不知道我需要做什么
using (var image = new MagickImage(newFile.Data))
{
// Sets the output format to jpeg
image.Format = MagickFormat.Jpeg;
// Create byte array that contains a jpeg file
byte[] data = image.ToByteArray();
}
var currentFiles =
_clientFileService.Value.GetFilesByClient(clientId).Where(x => x.ClientFileType == type).Select(x => x.Id).ToList();
_clientFileService.Value.MultipleDelete(currentFiles, null);
_clientFileService
.Value
.AddFile(
new ClientFile
{
Data = newFile.Data, // How can I pass MagickImage to newFile.Data
Guid = Guid.NewGuid()
});
我想你需要在fileService中使用MagikImage的数据:
byte[] data = null;
using (var image = new MagickImage(newFile.Data))
{
// Sets the output format to jpeg
image.Format = MagickFormat.Jpeg;
// Create byte array that contains a jpeg file
data = image.ToByteArray();
}
var currentFiles = _clientFileService.Value
.GetFilesByClient(clientId)
.Where(x => x.ClientFileType == type)
.Select(x => x.Id)
.ToList();
_clientFileService.Value.MultipleDelete(currentFiles, null);
_clientFileService
.Value
.AddFile(new ClientFile
{
Data = data
Guid = Guid.NewGuid()
});
我正在尝试使用 MagicImage 将 HEIC 转换为 JPEG,因此我的 newFile.Data 包含发送到服务器的图像的字节 []。所以我很确定我的代码是正确的,但是当我将图像发送到服务器时,即网络它以 HEIC 格式上传,但我需要它的 jpeg 格式。所以我被困在这里,不知道我需要做什么
using (var image = new MagickImage(newFile.Data))
{
// Sets the output format to jpeg
image.Format = MagickFormat.Jpeg;
// Create byte array that contains a jpeg file
byte[] data = image.ToByteArray();
}
var currentFiles =
_clientFileService.Value.GetFilesByClient(clientId).Where(x => x.ClientFileType == type).Select(x => x.Id).ToList();
_clientFileService.Value.MultipleDelete(currentFiles, null);
_clientFileService
.Value
.AddFile(
new ClientFile
{
Data = newFile.Data, // How can I pass MagickImage to newFile.Data
Guid = Guid.NewGuid()
});
我想你需要在fileService中使用MagikImage的数据:
byte[] data = null;
using (var image = new MagickImage(newFile.Data))
{
// Sets the output format to jpeg
image.Format = MagickFormat.Jpeg;
// Create byte array that contains a jpeg file
data = image.ToByteArray();
}
var currentFiles = _clientFileService.Value
.GetFilesByClient(clientId)
.Where(x => x.ClientFileType == type)
.Select(x => x.Id)
.ToList();
_clientFileService.Value.MultipleDelete(currentFiles, null);
_clientFileService
.Value
.AddFile(new ClientFile
{
Data = data
Guid = Guid.NewGuid()
});