WebAPI Angularjs 上传文件
发布时间:2020-12-17 07:05:14 所属栏目:安全 来源:网络整理
导读:直接上代码 HTML页面代码: ? label 资源URL / label input type ="text" class ="form-control" id ="txtSourceURL" name ="txtSourceURL" ng-model ="editdata.SourceURL" placeholder ="资源URL" ng-maxlength ="500" !-- 文件地址展示 -- button id ="ch
直接上代码 HTML页面代码: ? <label>资源URL</label> <input type="text" class="form-control" id="txtSourceURL" name="txtSourceURL" ? ? ? controller.js代码 app.controller(‘editController‘,[‘$scope‘,"$http",‘webConfig‘,function ($scope,$http,webConfig) { $scope.save = function () { var fd = new FormData(); var file = document.querySelector(‘input[type=file]‘).files[0]; fd.append(‘logo‘,file); //angular 上传的文件必须使用特殊的格式处理,不是json格式 $http({ method: ‘POST‘,url: webConfig.apiRoot + "/api/ECategoryDetail/PostFiles",//"https://localhost:44320//api/ECategoryDetail/PostFiles" data: fd,headers: { ‘Content-Type‘: undefined },// 写成是undifined,浏览器才自动转化为 文件上传的类型 transformRequest: angular.identity }).success(function (response) { //上传成功的操作 if (response.mark) //接口返回的数据标志位,是否保存成功,保存成功则把文件相对地址更新到实体中 $scope.editdata.SourceURL = response.result; else alert("上传失败"); }); }; }]); webapi代码: /// <summary> /// 上传文件 /// </summary> [HttpPost,Route("api/ECategoryDetail/PostFiles")] public IHttpActionResult PostFiles() { var result = ""; var filelist = HttpContext.Current.Request.Files; var mark = true; if (filelist.Count > 0) { for (var i = 0; i < filelist.Count; i++) { var file = filelist[i]; var fileName = file.FileName; var virtualPath = "/UploadFile/Files/"; var path = HttpContext.Current.Server.MapPath(virtualPath);//文件全路径 if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var filePath = $"{path }{fileName}"; try { file.SaveAs(filePath); result = $@"{virtualPath}{fileName}"; } catch (Exception ex) { result = "上传文件写入失败:" + ex.Message; mark = false; } } } else { result = "上传的文件信息不存在!"; mark = false; } var json = new { result,mark }; return Ok(json); } ? 有疑问欢迎交流。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |