2014-06-13 25 views
1

目前我有這樣的代碼,現在,如何從HTML中使用JavaScript來的C#代碼

在我的HTML頁面,在表單上我有這樣的上傳團塊圖像:

<input type="file" id="txtUploadFile" accept="image/*" onchange="changetext();"/> 

我上傳圖片使用javascript我doUpload()功能

function doUpload() { 
    var srwebserviceURL = "/Webservices/Facilities/ServiceRequest.asmx"; 
    var sMsgBody = "<filePath>" + txtUploadFile.value + "</filePath>"; 
    var a = sendSoapMsg(srwebserviceURL, "SaveSRLogoPhotoSite", sMsgBody, "SaveSRLogoPhotoSiteResult"); 
} 

所以你可以從代碼中看到上面,我傳遞照片的文件路徑,以我的web服務。

在我的web服務,SaveSRLogoPhotoSite,我有ff。代碼:

public SRLogoPhoto SaveSRLogoPhotoSite(string filePath) 
{ 
    DataSet ds = null; 
    Hashtable param = new Hashtable(); 
    SRLogoPhoto srlp = new SRLogoPhoto(); 

    try 
    { 

     System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read); 

     Byte[] b = new Byte[fs.Length]; 
     fs.Read(b, 0, b.Length); 
     fs.Close(); 
     SqlParameter P = new SqlParameter("@Picture", SqlDbType.VarBinary, b.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, b); 

     string sqlStr = "UPDATE SRSiteLogo SET srImage = @Picture "; 

     param.Add("Picture", P); 

     ds = dbHelper.GetDataSet(sqlStr, param); 

    } 
    catch (Exception ex) 
    { 
     srlp.Error = "SaveSRLogoPhotoSite() web method failed on call to dbHelper.GetDataSet - " + ex.Message; 
    } 

    return srlp; 
} 

這是在我的本地電腦上工作。但是,當我將它部署到除我的電腦以外的其他環境時似乎不起作用。當我嘗試在soapUI中調試時,它說它找不到文件路徑

看來,我應該傳給我的web服務的文件路徑應該是服務器第一,而不是PC是在當前的文件系統中的文件路徑上。

我該怎麼辦呢?

- 編輯 - 我被告知,這是可能的使用ajax..I'm新的阿賈克斯,不知道該怎麼做..

預先感謝您

回答

2


當你在本地運行web時,你需要上傳的文件和服務器位於一臺機器上,這樣你就可以確定文件路徑並執行上傳任務。 Howerver,當您將Web部署到另一臺服務器時,無法確定路徑文件。您必須將文件轉換爲流併發送到服務器,讀取流,轉換爲期望的格式並繼續。 謝謝。

+0

我明白。但是,是否有可能在javascript中讀取文件?我正在使用IE8。我不知道如何從JavaScript讀取文件,然後將其傳遞給我的C#代碼將文件轉換爲流,等等等等 – ifallelsefailthenstackoverflow

+0

嗨@AedzMigraso,從js讀取文件並將其傳遞給c#,你可以使用ajax,它可以幫助你執行該操作。 – admin

+0

我是新來的ajax,不知道該怎麼做..編輯我的問題..如果你有任何鏈接爲ajax如何做到這一點,這將真的幫助..謝謝 – ifallelsefailthenstackoverflow

相關問題