Javascript 将base64映像上载到.NET webservice并在那里进行转换

Javascript 将base64映像上载到.NET webservice并在那里进行转换,javascript,c#,jquery,base64,Javascript,C#,Jquery,Base64,我有一个函数,它使用POST-to-remove.netwebservice通过data:JSON.stringify(formdata)发送数据。到目前为止我没有问题。我想做的是向formdata JSON中添加另一个值,该值将保存base64图像数据并将其发送到服务器,然后在那里我将其转换回JPEG图像 我怎么能这样呢?我已经有一个预览功能,可以创建预览,但也可以创建base64图像: function previewFile() { var preview = document.q

我有一个函数,它使用POST-to-remove.netwebservice通过
data:JSON.stringify(formdata)
发送数据。到目前为止我没有问题。我想做的是向formdata JSON中添加另一个值,该值将保存base64图像数据并将其发送到服务器,然后在那里我将其转换回JPEG图像

我怎么能这样呢?我已经有一个预览功能,可以创建预览,但也可以创建base64图像:

function previewFile() {
    var preview = document.querySelector('.uploadimage');
    var file = document.querySelector('input[type=file]').files[0];
    var reader = new FileReader();

    reader.addEventListener("load", function () {
        preview.src = reader.result;
    }, false);

    if (file) {
        reader.readAsDataURL(file);
    }
}

我看到很多人询问如何将图像上传到服务器。我希望保持当前配置,但只需将base64映像数据作为字符串传递给服务器。我看到许多开发人员都在为此苦苦挣扎,他们中的大多数人只是在用javascript创建表单并提交表单

string base64 = base64string.Substring(base64string.IndexOf(',') + 1);
byte[] imageData = Convert.FromBase64String(base64);
Image img;
using (var ms = new MemoryStream(imageData, 0, imageData.Length)) {
img = Image.FromStream(ms, true);
您将需要:

using System.Drawing;
或者,要简单地转换为jpg,请使用以下命令:

File.WriteAllBytes("image.jpeg", Convert.FromBase64String(base64));
为了发送数据,我使用以下JS:

function sendImage() {
    if (this.files && this.files[0]) {
        var FR = new FileReader();
        FR.onload = function (e) {
            $("#imgImage").attr("src", e.target.result); //show a preview
            //send e.target.result as a string to your webservice
        };
        FR.readAsDataURL(this.files[0]);
    }
}
我使用此事件侦听上载的文件:

document.getElementById("fileid").addEventListener("change", sendImage, false);
前端:

<input type="file" id="fileid" />


谢谢。这是.NET代码,如何通过formdata JSON附加的参数将数据正确传输到Web服务?@IDANSHECTER我在e.target.result中发回了值,因此我不使用JSON,但您应该能够使用该值fileid是什么?您共享部分代码,所以我试着逐段理解。@IDANSHECTER抱歉,fileid将是您的文件输入字段的id。例如:谢谢,我会按照答案做,这很有意义。我会和你一样解决的。非常感谢你抽出时间,我的朋友。