Javascript 使用AngularJS和WebService(.asmx)上传图像VarBinary(max)
我对AngularJS还是新手,我想创建一个表单,允许我上传图像并保存到数据库,然后在html页面上查看 .asmx文件Javascript 使用AngularJS和WebService(.asmx)上传图像VarBinary(max),javascript,c#,angularjs,web-services,asmx,Javascript,C#,Angularjs,Web Services,Asmx,我对AngularJS还是新手,我想创建一个表单,允许我上传图像并保存到数据库,然后在html页面上查看 .asmx文件 public void AddCard(int id, string cName, string cCoName, string cTpNmbr, string cEmail, string cAddress, string cStatus,string cScan) { string cs = ConfigurationManager.Connect
public void AddCard(int id, string cName, string cCoName, string cTpNmbr, string cEmail, string cAddress, string cStatus,string cScan)
{
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
byte[] cScan = File.ReadAllBytes(imageFilePath);
SqlCommand cmd = new SqlCommand("Insert into tblCards(Id, Name, CoName, TpNmbr, Email, Address, Status, Scan) values('"+id+"','"+cName+"', '"+cCoName+"','" +cTpNmbr+"', '"+cEmail+"', '"+cAddress+"', '"+cStatus+"',@cScan)", con);
SqlParameter param = cmd.Parameters.AddWithValue("@cScan", cScan);
param.DbType = DbType.Binary;
con.Open();
cmd.ExecuteNonQuery();
}
}
.html文件
<form>
<fieldset>
<legend> ADD CARD / EDIT CARD </legend>
<p> ID : <input type="text" ng-model="cards.id" /></p>
<p>Name : <input type="text" ng-model="cards.cName" /></p>
<p>Co. Name :<input type="text" ng-model="cards.cCoName" /></p>
<p>Tp. Number : <input type="text" ng-model="cards.cTpNmbr" /></p>
<p>Email : <input type="text" ng-model="cards.cEmail" /></p>
<p>Address : <textarea ng-model="cards.cAddress"></textarea></p>
<p>Status : <input type="text" ng-model="cards.cStatus" /></p>
<p>Card Scan : <input type="file" ng-model="cards.cScan" /></p>
<button type="button" class="btn btn-primary" ng-click="addCard(cards)"> Add Card </button>
<button type="button" class="btn btn-primary" ng-click="editCards(cards)"> Edit Card </button>
<button type="reset" class="btn btn-primary"> Reset Form </button>
</fieldset>
</form>
我在网上查了一下,我试着使用代码,但似乎是这样
不工作
提前感谢“…我尝试使用代码,但似乎它正在工作。”那么,问题是什么?你有错误吗?某种意想不到的结果?现在还不清楚从哪里开始。还有,
cScan
是你的图像吗?因为您将它声明为字符串
…所以可以假设它是我的图像。。如果字符串是错误的,那么我应该声明为什么类型?当问一个由代码引起的问题时,如果使用尽可能少的代码仍然产生相同的问题,您将得到更好的答案。看见
$scope.addCard = function (card) {
var id = card.id
var cName = card.cName;
var cCoName = card.cCoName;
var cTpNmbr = card.cTpNmbr;
var cEmail = card.cEmail;
var cStatus = card.cStatus;
var cAddress = card.cAddress;
var cCount = card.cCount;
var cScan = card.cScan;
cCount = 0;
$http({
url: 'CardServices.asmx/AddCard',
params: {
id: id,
cName: cName,
cCoName: cCoName,
cTpNmbr: cTpNmbr,
cEmail: cEmail,
cStatus: cStatus,
cAddress: cAddress,
cScan:cScan
},
method: 'GET'
}).then(function (response) {
GetAllCards();
alert("Card Added to Database!");
});
}