WCF 服务不保存来自 Ionic App 的图像

WCF Service not save image from Ionic App

我正在开发一个应用程序并上传图像 Ionic 我的 WCF 服务,问题是当图像来自我的 WCF 代码时没有正确保存。保存为图片无效。

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "upload2/{fileName}")]
string Upload2(string fileName, Stream fileStream);

public string Upload2(string fileName, Stream fileStream)
    {

        try
        {
            FileStream fileToupload = new FileStream(WebConfigurationManager.AppSettings["FilePath"] + fileName, FileMode.Create);

            byte[] bytearray = new byte[10000];
            int bytesRead, totalBytesRead = 0;
            do
            {
                bytesRead = fileStream.Read(bytearray, 0, bytearray.Length);
                totalBytesRead += bytesRead;
            } while (bytesRead > 0);

            fileToupload.Write(bytearray, 0, bytearray.Length);
            fileToupload.Close();
            fileToupload.Dispose();
            return "succ";
        }
        catch (Exception ex)
        {
            return ex.Message + " - " + ex.InnerException;
        }
    }

代码控制器AngularJs,

$scope.subirFoto = function() {
    var options = new FileUploadOptions();

    options.fileKey = "post";

    options.fileName = imageURI.substr(imageURI.lastIndexOf('/')+1);
    options.mimeType = "image/jpeg";
    options.chunkedMode = false;


    var ft = new FileTransfer();

    ft.upload(imageURI, encodeURI("http://192.68.1.182:8085/IServiceTopStore.svc/upload2/"+options.fileName), win, fail, options);
}

如有需要请在下方解决

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "UploadImage/{fileName}")]
string UploadImage(string fileName);

public string UploadImage(string fileName)
    {
        try
        {
            HttpPostedFile file = HttpContext.Current.Request.Files["post"];
            if (file == null)
                return null;
            string targetFilePath = WebConfigurationManager.AppSettings["FilePath"] + fileName;
            file.SaveAs(targetFilePath);
            return "succ   " + file.FileName.ToString(); ;
        }
        catch (Exception ex)
        {
            return ex.Message + " - " + ex.InnerException;
        }
    }

离子:

$scope.subirFoto = function() {
    var options = new FileUploadOptions();

    options.fileKey = "post";

    options.fileName = imageURI.substr(imageURI.lastIndexOf('/')+1);
    options.mimeType = "image/jpeg";
    options.chunkedMode = false;


    var ft = new FileTransfer();

    ft.upload(imageURI, encodeURI("http://192.1.1.1:8085/IServiceTopStore.svc/upload2/"+options.fileName), win, fail, options);
}