我正在使用WCF Web服务,并且很好奇是否可以将Stream转换为文件。
有时,在post方法上遇到“跨源请求错误”问题,并且我意识到,每当以Stream形式接收数据时,都不会出现问题。
但是现在我想以相同的方式将图片发布到我的方法中(如果可以的话)

这是我的代码:

[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "SaveImage")]
public bool SaveImage(Stream streamData){
   // read the streamData
   // convert streamData to File
   // with something like this: new FileStream(..streamData);
 return true;
}


编辑:

HTML代码:

<form><input type="file" name="file"/><div id="send">send</div></form>


jQuery Ajax:

 $('#send').click(function () {
    var allDataFromTheForm = new FormData($('form')[0]);
    $.ajax({
        url: "/url/SaveImage",
        type: "POST",
        data: allDataFromTheForm,
        cache: false,
        contentType: false,
        processData: false,
        success: function (result) {
            alert(result);
        }
    });
});

最佳答案

没有方便的参考,但这是这样的

using(Stream fileStream = File.CreateFile(...))
{
    streamData.CopyTo(fileStream);
}

关于c# - 将流转换为文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22026999/

10-13 06:17