Example #1
0
        public Task <CreateWPSFileResult> NewFile(CreateWPSFileRequest request)
        {
            return(Task.Run(async() =>
            {
                try
                {
                    var filterRequest = FilterRequestForWPS(Request);
                    if (!filterRequest.Status)
                    {
                        return new CreateWPSFileResult {
                            code = filterRequest.code, msg = filterRequest.msg
                        };
                    }

                    using (var stream = System.IO.File.Create("保存的文件名"))
                    {
                        await request.file.CopyToAsync(stream);
                    }

                    var result = new CreateWPSFileResult
                    {
                        redirect_url = "新的文件访问链接",
                        user_id = "创建人id"
                    };
                    return result;
                }
                catch (Exception ex)
                {
                    _logger.Error("save file failed: ", ex);
                    return new CreateWPSFileResult {
                        code = 403, msg = "新建文件出现异常"
                    };
                }
            }));
        }
        public JsonResult NewFile(CreateWPSFileRequest request)
        {
            _log.WriteInfo("开始请求接口【file/new】");
            var result = new CreateWPSFileResult();

            try
            {
                var filterRequest = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request);
                if (!filterRequest.Status)
                {
                    result.code    = filterRequest.code;
                    result.message = filterRequest.message;
                    result.details = filterRequest.details;
                    result.hint    = filterRequest.hint;
                }
                else
                {
                    HttpFileCollection files    = HttpContext.ApplicationInstance.Request.Files;
                    string             fileName = Guid.NewGuid().ToString("N") + ".docx";
                    foreach (string key in files.AllKeys)
                    {
                        HttpPostedFile file = files[key];
                        if (string.IsNullOrEmpty(file.FileName) == false)
                        {
                            file.SaveAs(Server.MapPath("~/Files/") + fileName);
                        }
                    }

                    result.redirect_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Files/{fileName}";
                    result.user_id      = "1000";
                }
            }
            catch (Exception ex)
            {
                _log.WriteError("【系统异常】-【" + ex.Message + "】", ex);
                result.code    = (int)Enumerator.ErrorCode.ServerError;
                result.message = Enumerator.ErrorCode.ServerError.ToString();
                result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError);
            }

            _log.WriteInfo("请求接口【file/new】完成,返回数据:" + JsonConvert.SerializeObject(result));
            return(Json(result));
        }