从内存流上传到天蓝色存储返回空文件

2023-11-22

我正在使用内存流将 System.Drawing.Bitmap 写入 Azure 存储。我有正确的凭据,并且天蓝色的所有内容都正确连接。我已经使用输入流成功地将图像上传到 blob 中,所以我认为这一定是我使用内存流对象的方式有问题。

经过一段时间的研究,我的问题的一般解决方案似乎是将内存流位置设置为 0,但这对我来说不起作用,并且空文件仍然被保存到 azure 中。

我的代码是:

 using (image)
 {
 System.IO.MemoryStream ms = new MemoryStream();

 //create an encoder parameter for the image quality
 EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);

 //get the jpeg codec
 ImageCodecInfo imgCodec = ImageUtilities.GetEncoderInfo(CodecInfo);

  //create a collection of all parameters that we will pass to the encoder
  EncoderParameters encoderParams = new EncoderParameters(1);

  //set the quality parameter for the codec
  encoderParams.Param[0] = qualityParam;

  //Move the pointer to the start of stream.
  ms.Position = 0;

  image.Save(ms, imgCodec, encoderParams);

  blockBlob.UploadFromStream(ms);
}

最后保存的图像元素中有数据。在调试时保持正确的长度等,因此问题出在上传步骤中的某个地方


您必须在保存图像后和上传之前倒回内存流:

  //...

  //Move the pointer to the start of stream.
  ms.Position = 0;

  image.Save(ms, imgCodec, encoderParams);
  //HERE !!!
  ms.Position = 0;

  blockBlob.UploadFromStream(ms);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从内存流上传到天蓝色存储返回空文件 的相关文章

  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 内存使用情况、CPU 时间、数据输出和文件系统存储如何应用于我的网站?

    请原谅我的无知 但我有几个问题 我似乎无法通过搜索或谷歌得到答案 这些问题看起来完全愚蠢 但老实说我需要帮助 在我的 Azure 网站门户上 我有一些我很好奇的东西 CPU Time 如何应用于我的网站 我不知道我是如何使用 CPU 的 除
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 回发或回调参数无效。使用“”启用事件验证

    当我从客户端回发页面时 出现以下错误 我有修改客户端 asp ListBox 的 JavaScript 代码 我们该如何解决这个问题 错误详细信息如下 Server Error in XXX Application Invalid post
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 如何在 C# 中从数据表动态构建插入命令

    我在从 C 中的 dataTable 对象动态创建 SQL 插入语句时遇到一些问题 我想知道实现它的最佳实践 这是我的代码片段 到目前为止我已经尝试过 String sqlCommandInsert INSERT INTO dbo RAW
  • 如何从java启动chrome浏览器

    有没有什么聪明的方法可以从 java 类启动 chrome 浏览器 我问这个问题是因为我想要一种智能方式来启动一个应用程序 该应用程序需要在以 Internet Explorer 作为默认浏览器并安装了 java 1 4 2 的计算机上使用
  • PHP排序最近的坐标

    我在 PHP Web 服务中有一个包含经度和纬度的 MySQL 表 我只想向用户发送 5 个最接近的坐标 我编写了计算从坐标到用户在 POST 请求中发送的坐标的距离的方法 但我不确定如何对其进行排序 并且只发回一些坐标 这是距离方法 fu
  • ASIHTTPRequest 将 json 发送到 php 服务器

    在过去的 5 个小时里 我一直在尝试将 json 对象发布到 PHP 脚本 我已阅读所有文档 看起来代码应该可以工作 但事实并非如此 请求已发出并接收正常 但我无法访问发布的 json 数据 或者甚至不知道它是否已正确发送 我不断收到空的
  • 在 Sitecore 中,当向模板添加字段时,有一个名为“共享”的复选框。这是为了什么?

    这似乎是一个愚蠢的问题 但我在我拥有的 sitecore 文档 在线和离线 中可以找到的最接近的答案是共享字段是 跨语言共享 我认为这意味着共享字段的内容在 sitecore 中该项目的所有翻译中都是相同的 那是对的吗 是的 这是正确的 项
  • 有没有办法将 css 文件附加到 jEditorPane?

    足够简单的问题 我有一个包含 HTML 的字符串 该字符串正在传递给 JEditorPane 供用户使用 我可以附加 CSS 文件 或包含 CSS 规则的字符串 以允许更具体的文本样式吗 The HTMLEditorKit默认情况下查找文件
  • 如何检测行的开头,或者:“当前上下文中不存在名称‘getCharPositionInLine’”

    我正在尝试创建一个行开头标记 lexer grammar ScriptLexer BOL getCharPositionInLine 0 Beginning Of Line token 但上面会发出错误 The name getCharPo
  • 根据jstl中的索引获取arraylist的元素[重复]

    这个问题在这里已经有答案了 这也许是一件相对简单的事情 但由于某种原因我似乎没有做对 如何根据索引从jstl中的arrayList中获取元素 在纯java中 假设我有这个数组列表 ArrayList lt String gt colors
  • 将 MATLAB 图形保存为 PDF,质量为 300 DPI,居中

    我想将 MATLAB 图另存为 PDF 质量为 300DPI 并居中 到目前为止 我设法保存它 但图像似乎被裁剪了 我将页面类型更改为A3并解决了问题 但我正在寻找更优雅的东西 我是通过 GUI 执行此操作 但也许在 MATLAB 中使用命
  • Python 按键和按键释放监听器

    我正在使用 python 代码控制一辆遥控玩具车 截至目前 代码如下 def getkey fd sys stdin fileno old termios tcgetattr fd new termios tcgetattr fd new
  • 开源.NET富文本编辑器UserControl与GUI全部实现[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在编写一个数据输入程序 其中最后一个字段将是一个 RichTextBox 供用户输入备注 并格式化为打印 是否有免费或开源的 NET WinForms 富文本编辑器 并且所有 G
  • 重定向系统中的 cookie 令人困惑

    我从事 PHP 工作 我想在登录后将页面重定向到我想访问的最后一个页面 但 5 小时后我仍然堆在这里 但我仍然没有成功 这是架构 我有 3 个 php 文件 newest php before login signin php before
  • 运行时检查失败 #2 - 变量周围的堆栈已损坏

    我已经在 stackoverflow 上看到了一些问题 但没有一个能解决我的问题 我在 C 中有该代码 include
  • Switch Case 语句中出现重复 const 声明错误

    我有以下代码 但收到错误 重复声明 query url switch condition case complex const query url something break default const query url someth
  • 如何正确调用TFS中的GetWorkspace?

    目前当我打电话时GetWorkspace I get ItemNotMappedException例外 但是当我手动迭代工作区时 我可以让我的代码正常工作 这太奇怪了 我想知道我是否应该在调用之前调用一些刷新或其他东西GetWorkspac
  • 使用Python请求时如何获取底层socket

    我有一个 Python 脚本 它使用以下命令创建许多短暂的并发连接requests图书馆 我特别需要找出每个连接使用的源端口 并且我认为我需要为此访问底层套接字 有没有办法通过响应对象来获取它 对于流连接 使用stream True参数 您
  • 使用鼠标旋转画布中的图像

    在我的代码中 我将图像加载到画布中 然后我需要调整大小 旋转和拖动它 我设法实现了拖动和调整大小 如何在这段代码上使用鼠标实现旋转 沿着图像的中心 我的 HTML 页面
  • 我应该使用什么 Java FTP 客户端库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 由于我没有收到对我的问题的
  • C# foreach on IEnumerable vs. List - 元素修改仅对数组持久 - 为什么?

    在 C 中 我注意到如果我在生成的 LINQ 上运行 foreach 循环IEnumerable
  • 从内存流上传到天蓝色存储返回空文件

    我正在使用内存流将 System Drawing Bitmap 写入 Azure 存储 我有正确的凭据 并且天蓝色的所有内容都正确连接 我已经使用输入流成功地将图像上传到 blob 中 所以我认为这一定是我使用内存流对象的方式有问题 经过一