Angular Js在Umbraco Backoffice上传.csv文件并解析它?

时间:2016-05-04 09:02:49

标签: javascript c# angularjs csv umbraco7

我试图在Umbraco的后台上传一个csv文件。我是Angular的新手,所以不确定我哪里出错了,想知道是否有人可以引导我走向正确的方向。

这是HTML:

<input type="file" id="clinicUpload" name="file" onchange="angular.element(this).scope().uploadFile(this.files)" accept=".csv" />

My Angular js是:

$scope.uploadFile = function(files) {
    var fd = new FormData();
    //Take the first selected file
    fd.append("file", files[0]);

    $http.post("/umbraco/backoffice/Api/Clinic/BulkUpload", fd, {
        withCredentials: false,
        headers: { 'Content-Type': 'text/csv' },
        transformRequest: angular.identity
    })
    .success()
    .error();

};

我的c#代码是:

        public HttpResponseMessage BulkUpload()
    {

        try
        {
            var files = HttpContext.Current.Request;

            // Verify that the user selected a file
            if (files != null && files.ContentLength > 0)
            {
                // get the file stream in a readable way
                StreamReader reader = new StreamReader(files.InputStream);


                while (!reader.EndOfStream)
                {
                    var line = reader.ReadLine();
                    var values = line.Split(',');
                }
            }
            return Request.CreateResponse(HttpStatusCode.OK);
        }
        catch (Exception e)
        {

        }
    }

我遇到的问题是“读者”问题。读取每行我在文件中获取额外的文本,如:

  

------ WebKitFormBoundaryDQ1Xx8AhG5dByO35 Content-Disposition:form-data;命名=&#34;文件&#34 ;;文件名=&#34; FILE.CSV&#34;   内容类型:应用/八位字节流

在没有添加所有额外信息的情况下,是否有更好的方法来解析此文件?我正确地通过Angular Js上传这个文件了吗?我应该在C#中以不同方式解析此文件吗? 任何帮助将不胜感激。

0 个答案:

没有答案