验证一个文件是否存在

需要在项目中,去验证一个件是否存在。

C#中可以使用File.Exists(physical path)

 

你也可以在API接口中写一个异步方法:

 

 public async Task<bool> FileIsExists(JObject jObj)
        {
            var jsonStr = JsonConvert.SerializeObject(jObj);
            var jsonParams = JsonConvert.DeserializeObject<dynamic>(jsonStr);

            string physicalPath = physical(jsonParams.FileName);

            return await Task.FromResult<bool>(File.Exists(physicalPath));          
        }
        

        private string physical(string fileName)
        {
            return HttpContext.Current.Server.MapPath("~/Temp/") + fileName;

        }
Source Code

 

这样在前端angularjs去呼叫接口方法:

 

 $scope.fileIsExists = function (file) {
            var result = false;

            var arg_f = {};
            arg_f.FileName = file;

            $http({
                method: 'POST',
                url: '/api/IoSvc/FileIsExists',
                dataType: 'json',
                headers: {
                    'Content-Type': 'application/json; charset=utf-8'
                },
                data: JSON.stringify(arg_f),
            }).then(function (response) {
                result = response.data;
            });

            return result;
        };
Source Code

 

其实,还有另外一种方法,更加简单进行对文件判断是否存在:

$scope.fileExists = function (file) {
            var url = '/Temp/' + file;
            var request = new XMLHttpRequest();
            request.open('HEAD', url, false);
            request.send();
            return request.status == 200 ? true : false;
        };
Source Code

 

posted @ 2020-08-17 10:36  Insus.NET  阅读(398)  评论(0编辑  收藏  举报