小编Pra*_*shi的帖子

Image.Save()抛出异常"Value不能为null ./r/nParameter name:encoder"

我在使用RawFormat保存位图图像时收到"值不能为空.\ r \nParameter name:encoder"错误.示例代码:

class Program
{
    static void Main(string[] args)
    {
        try
        {
            var image = new System.Drawing.Bitmap(500, 400);
            var stream = new MemoryStream();
            image.Save(stream, image.RawFormat);
        }
        catch (Exception exp)
        {
            Console.WriteLine(exp.ToString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现有的ImageEncoders列表中不存在RawFormat,因为下面的代码返回null.

var imageCodecInfo = ImageCodecInfo.GetImageEncoders().FirstOrDefault(codec => codec.FormatID == image.RawFormat.Guid);

注意:图像可以是任何类型(JPEG,BMP,PNG)等.Image.Save()应该在image.RawFormat上工作.RawFormat不是Bitmap类型.如果我将image.RawFormat更改为ImageFormat.Bmp,则保存操作会成功.

参考下面的链接,但没有找到任何使其独立于图像类型.

Image.Save崩溃:{"值不能为空.\ r \nParameter name:encoder"} 为什么Image.Save(Stream,ImageFormat)会抛出异常?

欢迎任何建议.

.net c# image

32
推荐指数
2
解决办法
2万
查看次数

AWS Lambda + Angular Web 应用程序抛出“错误:找不到模块‘@vendia/serverless-express’”

我正在尝试按照教程https://medium.com/better-programming/getting-started-with-serverless-angular-universal-on-aws-lambda-8754bcc4dc19在 AWS 无服务器 Lambda 上部署 Angular Web 应用程序

直到上周它都运行良好,但开始抛出错误“错误:找不到模块‘@vendia/serverless-express’”,即使在任何地方都没有提到‘@vendia/serverless-express’。生成的 lambda.js 使用“aws-serverless-express”。

通过 npm 安装“@vendia/serverless-express”,它被添加到 package.json。部署后,仍然报告错误。

重现步骤:

  1. 确保 angular 版本为 7 或更低,因为工具包不适用于更高版本
  2. ng new project-name --style css --routing false
  3. cd 项目名称
  4. ng 添加@ng-toolkit/universal@7.1.2
  5. npm run build:prod
  6. npm 运行服务器
  7. ng 添加@ng-toolkit/serverless@8.1.0
  8. npm i serverless-api-compression
  9. npm 运行构建:无服务器:部署

如果需要任何进一步的信息,请告诉我。提前致谢!

amazon-web-services serverless-framework angular aws-serverless

3
推荐指数
1
解决办法
683
查看次数