我在按钮点击时使用API将图像上传到imgur.com但是我想避免点击按钮时页面刷新,我尝试禁用onClick为false并通过jquery手动调用函数但不幸的是我无法运行,有没有其他方法上传没有回发?
第二个问题:我们不能将简单的方法称为静态。在静态中调用其他方法的任何技巧?
答案 0 :(得分:2)
我认为这会对你有所帮助:
以下是要上传的代码' .jpg'文件
<script src="JS/jquery-2.1.0.js"></script>
<script type="text/javascript">
function SaveAllDetails() {
if (document.getElementById("FileUploadMyImage").value != "") {
var file = document.getElementById('FileUploadMyImage').files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = UpdateFiles;
}
else {
alert('Please Choose An Image');
}
}
function UpdateFiles(evt) {
var result = evt.target.result;
var ImageSave = result.replace("data:image/jpeg;base64,", "");
var savobject = { 'savingvalues': ImageSave };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/SaveAllDetails",
data: JSON.stringify(savobject),
dataType: "json",
success: function () {
alert('SuccessFully Uploaded');
},
error: function () {
alert('Not Uploaded');
}
});
}
</script>
<div>
<input type="file" id="FileUploadMyImage" />
<input type="button" value="Submit" onclick="SaveAllDetails();" />
</div>
[WebMethod(EnableSession = true)]
public static void SaveAllDetails(string savingvalues)
{
byte[] getImageData = Convert.FromBase64String(savingvalues);
}
变量&#39; getImageData&#39;是您的图片,您可以将其直接发送到您的“存储过程”