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新的阿賈克斯,不知道該怎麼做..
預先感謝您
我明白。但是,是否有可能在javascript中讀取文件?我正在使用IE8。我不知道如何從JavaScript讀取文件,然後將其傳遞給我的C#代碼將文件轉換爲流,等等等等 – ifallelsefailthenstackoverflow
嗨@AedzMigraso,從js讀取文件並將其傳遞給c#,你可以使用ajax,它可以幫助你執行該操作。 – admin
我是新來的ajax,不知道該怎麼做..編輯我的問題..如果你有任何鏈接爲ajax如何做到這一點,這將真的幫助..謝謝 – ifallelsefailthenstackoverflow