2017-11-18 90 views
0

我將圖像文件保存到文件夾中,並在客戶端使用該文件夾image。 有時不顯示image。但刷新後頁面顯示image。 我想服務器等到image保存完成。服務器在Asp.net中等待文件保存完成C#

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> 
+0

其中保存圖像的代碼? –

+0

您的問題對於SO來說太寬泛了,因爲有很多方法可以做到這一點。考慮上傳文件時使用不同的名稱或不同的文件夾,然後在上傳後重命名,以便服務器可以突然發現它已完成。您還可以編輯您的問題,以顯示客戶端上傳的方式以及服務器如何找到要顯示的圖像,這會使問題變得更具體,更符合網站規則 –

+0

請在您的問題中編輯該代碼。確保線條在開始時至少有4個空格,以便它的格式爲代碼 –

回答

1

我有同樣的問題,你的解決方案是:

您可以使用

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

代替

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

警告框不會出現,直到你的條碼圖像之後被加載,你的問題將得到解決

0

我很驚訝的是,服務器不能寫在時間這一形象,但也許你應該改變它的工作方式,而不是硬填補了服務器帶有條形碼圖像的磁盤,編寫一個處理程序,將其放入HTML中作爲img src,例如<img src="barcode generator.ashx?id=12345" ...,當客戶機瀏覽器調用該處理程序以獲取條形碼時,將其生成爲png(而不是jpg,jpg不應該用於條形碼)併發送它

看到東西l IKE在此: Display Image using ashx Handler

這裏的傢伙是基於URL主鍵用品讓他的頭像圖片出來分貝的 - 你的情況是不那麼複雜 - 你可以直接生成條形碼數據(把你想要的條形碼值生成到HTML中的URL,作爲參數

如果您需要更多的代碼示例等谷歌像「生成圖像動態ASHX」

+0

問題仍然存在。有時不顯示條形碼圖像。 –

+0

這似乎不太可能;在動態模式下,瀏覽器正在請求條形碼數據,因爲它已準備好顯示條形碼圖像。如果你正確地發送它要求的圖像數據,它會顯示。沒有必要在網頁加載中引入人工延遲來「給服務器更多時間來響應」 –