C# 将处理后的图像上载到服务器
我正在使用imageFX处理上传的图像,并在处理后将其保存到我的服务器imageFX是一个javascript库,可将图像转换为已处理的画布。我正在尝试使用AJAX将该画布上传到我的服务器中,但我收到一个错误响应,下面是我的代码:C# 将处理后的图像上载到服务器,c#,javascript,ajax,C#,Javascript,Ajax,我正在使用imageFX处理上传的图像,并在处理后将其保存到我的服务器imageFX是一个javascript库,可将图像转换为已处理的画布。我正在尝试使用AJAX将该画布上传到我的服务器中,但我收到一个错误响应,下面是我的代码: <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script src="Scripts/pixastic/pixastic.core.
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/pixastic/pixastic.core.js" type="text/javascript"></script>
<script src="Scripts/pixastic/desaturate.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#save").click(function () {
var image = document.getElementById("filterimage").toDataURL("image/png");
image = image.replace('data:image/png;base64,', '');
alert(image);
$.ajax({
type: 'POST',
url: "ImageFxExample.aspx/UploadImage",
data: '{ "imageData" : "' + image + '" }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert('Image saved successfully !');
},
error: function () {
alert("error!!");
}
});
});
});
</script>
<script type="text/javascript">
function strfilter(filter) {
var img = document.getElementById("<%=filterimage.ClientID %>");
Pixastic.process(img, filter);
document.getElementById("save").style.display = "block";
}
</script>
如果我在不使用上载控件的情况下为filterimage设置了一个简单的imageUrl,它可以正常工作,但是如果我使用上载控件,它将无法工作,并且我会收到错误消息任何帮助,请我找到了正确的答案,它正在将图像转换为“png”b4。您可以上载它吗
protected void upload_btn_Click(object sender, EventArgs e)
{
string folderPath = "UploadedImage/";
string imageName = fileUpload.FileName;
string saveLocation = Server.MapPath(folderPath);
string ext = Path.GetExtension(imageName);
string name= imageName.Replace(ext, ".png");
saveLocation = Server.MapPath(folderPath) + name;
fileUpload.SaveAs(saveLocation);
filterimage.ImageUrl = folderPath + name;
}
一般建议Jquery 1.4.1太旧了。尝试更新我想我找到了解决方案,我正在上传一个不包含png扩展的图像。请使用一些标点符号,因为这样你的问题很难理解。当你找到一个适合你自己的答案时,只需将其作为答案发布并接受即可——这样,其他有同样问题的人更容易获得帮助
protected void upload_btn_Click(object sender, EventArgs e){
string folderPath = "UploadedImage/";
string imageName = fileUpload.FileName;
string saveLocation = Server.MapPath(folderPath) + imageName;
fileUpload.SaveAs(saveLocation);
filterimage.ImageUrl = folderPath + imageName;
}
[WebMethod()]
public static void UploadImage(string imageData){
string Path = "UploadedImage/";
string folderPath = HttpContext.Current.Server.MapPath(Path);
string fileNameWitPath = folderPath + DateTime.Now.ToString().Replace("/", "-").Replace(" ", "- ").Replace(":", "") + ".png";
FileStream fs = new FileStream(fileNameWitPath, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
byte[] data = Convert.FromBase64String(imageData);
bw.Write(data);
bw.Close();
}
protected void upload_btn_Click(object sender, EventArgs e)
{
string folderPath = "UploadedImage/";
string imageName = fileUpload.FileName;
string saveLocation = Server.MapPath(folderPath);
string ext = Path.GetExtension(imageName);
string name= imageName.Replace(ext, ".png");
saveLocation = Server.MapPath(folderPath) + name;
fileUpload.SaveAs(saveLocation);
filterimage.ImageUrl = folderPath + name;
}