2010-01-16 153 views
0

我只是通過點擊按鈕來調用這個函數。 我也想知道FileUpload的哪個事件可以調用這個函數。如何使用FileUpload在圖像控件中顯示圖像?

Function upload() As Boolean 
     Dim img As FileUpload = CType(imgUpload, FileUpload) 
     imgByte = Nothing 
     If img.HasFile AndAlso Not img.PostedFile Is Nothing Then 
      Dim File As HttpPostedFile = imgUpload.PostedFile 
      imgByte = New Byte(File.ContentLength - 1) {} 
      File.InputStream.Read(imgByte, 0, File.ContentLength) 
     End If 
     Dim strImagePath As String = imgUpload.FileName 
     imgUpload.PostedFile.SaveAs(Server.MapPath("..\Temporary\" + strImagePath)) 
     imgLogo.ImageUrl = Server.MapPath("..\Temporary\" + strImagePath) 
     imgLogo.DataBind() 
    End Function 

即使在設置URL後,圖像不showing.I確信,圖像文件在服務器上創建和指定的路徑是正確的。

回答

0

嘗試使用相對路徑,根據需要將您的圖片從您的瀏覽器閱讀:

imgLogo.ImageUrl = "../Temporary/" + strImagePath 
+0

Farias,FileUpload的哪個事件可以用於此目的。 – 2010-01-16 12:29:49

+0

由於您的上傳過程沒問題,只需在 – 2010-01-16 12:37:12

+0

以上的代碼中進行更新即可清除。謝謝。我只是添加了新的上傳按鈕,並顯示該圖像。FileUpload只有少數事件。所有正在加載和卸載page.its不起作用。除非我可以減少我的頁面上的一個上傳按鈕。 – 2010-01-16 12:59:43

1

imgLogo.ImageUrl = Server.MapPath("..\Temporary\" + strImagePath)

該聲明將呈現爲類似下面的內容:

<img src="c:\...\sitelocationparent\Temporary\imagename.jpg" /> 

這不是應用程序應該服務器映像文件的方式。

應該是這樣的(不同的地方是aspx文件的路徑):

imgLogo.ImageUrl = "../Temporary/" & imgUpload.FileName 
0

請試試這個:

imgUpload.PostedFile.SaveAs(Server.MapPath("~/Temporary/") + strImagePath)) 

imgLogo.ImageUrl=("~/Temporary/+ strImagePath) 

它的工作!

+2

OP爲什麼要「嘗試這個」?一個**好的答案**將總是解釋做了什麼以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來訪問SO的人可能會發現這個問題並且正在閱讀你的答案。 – 2016-10-24 08:39:25

相關問題