【问题标题】:Server Wait file save complete in Asp.net C#服务器等待文件保存在 Asp.net C# 中完成
【发布时间】:2017-11-18 06:54:04
【问题描述】:

我将图像文件保存到Form_Load 的文件夹中,并在客户端使用了image。 有时不显示 image 。但刷新页面后image 显示。 我希望服务器等到image 保存完成。

  System.Drawing.Image barcodeImage = b.Encode(BarcodeLib.TYPE.CODE128, lstTicket[0].Barcode.ToString(), 250, 100);
   barcodeImage.Save(Server.MapPath("~/temp/") + lstTicket[0].Barcode.ToString() + ".jpg");

和客户端

  <div id="Barcode" style="text-align: center; margin-top: 10px;">
      <img src="/temp/<%=item.Barcode + ".jpg"%>" style="width: 200px; height: 40px;" />
  </div>

【问题讨论】:

  • 您的图片保存代码在哪里?
  • 您的问题对于 SO 来说有点过于宽泛,因为有很多方法可以做到这一点。考虑使用不同的名称或在不同的文件夹中上传文件,然后在上传后重命名,以便服务器可以突然发现它已完成。您还可以编辑您的问题以显示客户端如何上传以及服务器如何找到要显示的图像,这将使问题更具体,更适合网站规则
  • 请将该代码编辑到您的问题中。确保这些行在开头至少有 4 个空格,以便它格式化为代码
  • @CaiusJard 请帮帮我!

标签: c# asp.net


【解决方案1】:

我有同样的问题,你的解决方案是:

你可以使用

$(window).on("load"),function(){}

而不是

$(document).ready(function () {}

直到您的条形码图像加载后才会出现警告框,您的问题将得到解决

【讨论】:

    【解决方案2】:

    我很惊讶服务器无法及时写入此图像,但也许您应该改变它的完成方式,而不是用条形码图像填充服务器硬盘,编写一个处理程序,然后放入HTML 作为 img src 例如&lt;img src="barcode generator.ashx?id=12345" ... 并且当客户端浏览器调用该处理程序以获取条形码时,将其生成为 png(不是 jpg,jpg 永远不应该用于条形码)并发送它

    看到这样的东西: Display Image using ashx Handler

    这家伙正在根据 URL 中的主键供应从 db 中获取他的头像图像 - 你的情况不那么复杂 - 你可以直接生成条形码数据(将你想要生成的条形码值放入 URL 中HTML , 作为参数

    如果您需要更多代码示例等谷歌,例如“动态生成图像 ashx”

    【讨论】:

    • 问题依然存在。有时不显示条形码图像。
    • 这似乎不太可能;在动态模式中,浏览器正在请求条形码数据,因为它已准备好显示条形码图像。如果您正确地向它发送它所要求的图像数据,它就会显示出来。无需在网页加载中引入人为延迟来“给服务器更多时间响应”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多