![](/img/trans.png)
[英]How to post/upload recorded video as blob in MVC using HTML5/ Javascript at client side and C# code at controller?
[英]How to upload blob image from html page using javascript to c# code
目前,我現在有此代碼,
在我的html頁面上,在表單上有:
<input type="file" id="txtUploadFile" accept="image/*" onchange="changetext();"/>
我在doUpload()
函數上使用javascript上傳圖片
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;
}
這在我的本地PC上工作。 但是,當我將其部署到PC以外的環境中時,它似乎不起作用。 當我嘗試在soapUI中調試時,它說找不到文件路徑 。
似乎我應該通過我的Web服務傳遞的文件路徑應該首先在服務器上,而不是它所在的PC當前文件系統的文件路徑。
我怎么做?
- 編輯 -我被告知使用ajax可以實現此操作。.我是ajax的新手,不知道該怎么做。
先感謝您
在本地運行Web時,需要上載的文件和服務器位於一台計算機上,因此您可以確定文件路徑並執行上載任務。 但是,將網站部署到其他服務器時,無法確定路徑文件。 您必須將文件轉換為流並發送到服務器,讀取流,轉換為期望的格式然后繼續。 謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.