public async Task <IActionResult> GetUploadUrl(string siteName, string fileName) { bool isAollowAnonymous = !string.IsNullOrEmpty(_setting.Get("AllowAnonymouslyUpload")) && Convert.ToBoolean(_setting.Get("AllowAnonymouslyUpload")); if (!isAollowAnonymous) { if (Request.Headers.ContainsKey("Authorization")) { if (!CurrentUser.IsAdmin) { return(Unauthorized(new ErrorResponse() { message = "未经授权的访问" })); } } else { return(Unauthorized(new ErrorResponse() { message = "未经授权的访问" })); } } string path = Path.Combine($"upload/{Guid.NewGuid()}", fileName); try { var result = await _driveService.GetUploadUrl(path, siteName); return(Json(new { requestUrl = result, fileUrl = $"{OneDriveConfiguration.BaseUri}/api/files/{siteName}/{path}" }, new JsonSerializerSettings() { ContractResolver = new CamelCasePropertyNamesContractResolver() })); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public async Task <IActionResult> GetUploadUrl(string siteName, string fileName) { bool isAollowAnonymous = string.IsNullOrEmpty(setting.Get("AllowAnonymouslyUpload")) ? false : Convert.ToBoolean(setting.Get("AllowAnonymouslyUpload")); bool isAdmin = false; if (!isAollowAnonymous) { if (Request.Headers.ContainsKey("Authorization")) { isAdmin = AuthenticationHelper.VerifyToken(Request.Headers["Authorization"]); if (!isAdmin) { return(Unauthorized(new ErrorResponse() { Message = "未经授权的访问" })); } } else { return(Unauthorized(new ErrorResponse() { Message = "未经授权的访问" })); } } string path = Path.Combine($"upload/{Guid.NewGuid().ToString()}", fileName); try { var result = await driveService.GetUploadUrl(path, siteName); return(Ok(new { requestUrl = result, fileUrl = $"{Configuration.BaseUri}/api/files/{siteName}/{path}" })); } catch (Exception e) { return(StatusCode(500, e.Message)); } }