<input type="file" capture="camera"
使用 JQM、Ajax、Asp.net [WebMethod]从相机捕获上传图片时出现问题。
我将在下面发布一些代码:
脚本:
$('#uploadpicture').click(function() {
var fd = new FormData();
fd.append('photo', $('#filefromcam')[0].files[0]);
$.ajax({
url: "Butikk.aspx/UploadPicture",
type: "POST",
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: function (data) {
var result = data.d;
console.log(data.d);
},
error: function (xhr, errorType, exception) { //Triggered if an error communicating with server
var errorMessage = exception || xhr.statusText;
alert("Feilmelding: " + errorMessage);
}
});
});
HTML:
<td>
<input type="file" id="filefromcam" capture="camera" accept="image/*" data-mini="true">
</td>
<td>
<a data-role="button" id="uploadpicture" data-mini="true">Last opp</a>
</td>
母版页中的表格标签:
<form id="form" runat="server" enctype="multipart/form-data">
WEB方法后端
[WebMethod]
public static void UploadPicture(object fd)
{
var test = "test"; // just to see if debug mode occurs for breakpoint.
}
问题是,我总是得到 POST localhost.../UploadPicture 200 OK 63MS 所以它似乎工作正常,但我从来没有到达我在 [WebMethod] 中设置的断点。
我也尝试过这样的 XHR:
var file = input.files[0];
var form = new FormData();
xhr = new XMLHttpRequest();
form.append('image', file);
xhr.open('post', 'TestTest(dot)aspx/UploadPicture', true);
xhr.send(form);
这也应该是一个解决方案,但无论我做什么或改变什么,我都无法得到任何其他结果。