public IActionResult Login([FromBody] SysUserInfo model) { RespondResult result = new RespondResult(); SysUserInfo userInfo = systemUserService.GetLoginUserInfo(model.UserName); //用户不存在 if (userInfo == null) { result.is_success = false; result.msg = "用户不存在"; result.result = null; } //判断密码 string md5Password = Md5Helper.Md5(model.Password); //密码错误 if (!userInfo.Password.Equals(md5Password)) { result.is_success = false; result.msg = "密码错误"; result.result = null; } var tokenStr = AuthConfiguer.GetJWT(model, _jwtSettings); result.is_success = true; result.msg = ""; result.result = tokenStr; return(Ok(result)); }
/// <summary> 新增版本 /// </summary> /// <param name="version">版本号</param> public async Task <bool> CreateVersion(JsonReleaseVersion jsonReleaseVersion) { using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false })) //若想手动设置Cookie则必须设置UseCookies = false { StringContent stringContent = new StringContent(JsonConvert.SerializeObject(jsonReleaseVersion)); stringContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); try { var result = await client.PostAsync(new Uri(this.url + "/createVersion"), stringContent); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUpgradeError(new ErrorArgs(respondResult.Message)); } return(respondResult.Result); } } catch (Exception ex) { this.OnUpgradeError(new ErrorArgs(ex.Message)); return(false); } } return(true); }
protected override Task <RespondResult> SendResponseCoreAsync(object message) { var status = new RespondResult(ResponseStatus.Success); Response = new RequestResult(message, RequestStatus.Success); return(Task.FromResult(status)); }
/// <summary> 删除版本 /// </summary> /// <param name="version">版本号</param> public async Task <bool> DeleteVersion(string version) { using (HttpClient httpClient = new HttpClient()) { try { HttpResponseMessage httpResponseMessage = await httpClient.DeleteAsync(this.url + "/deleteVersion?version=" + version); if (httpResponseMessage.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await httpResponseMessage.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUpgradeError(new ErrorArgs(respondResult.Message)); } return(respondResult.Result); } } catch (Exception ex) { this.OnUpgradeError(new ErrorArgs(ex.Message)); return(true); } } return(false); }
/// <summary> /// 合并上传的分块 /// </summary> /// <param name="uri"></param> /// <param name="filePath"></param> /// <returns></returns> private async Task <bool> Merge(string filePath) { using (HttpClient httpClient = new HttpClient() { Timeout = TimeSpan.FromSeconds(30) }) { try { var result = await httpClient.GetAsync(this.mergeURL + "?fileName=" + (this.UploadFileNameAppendBefore == null ? string.Empty : this.UploadFileNameAppendBefore + "\\") + filePath.Replace(fileRoot + "\\", "")); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUploadError(new ErrorArgs(respondResult.Message)); } return(respondResult.Result); } } catch (Exception ex) { this.OnUploadError(new ErrorArgs(ex.Message)); } } return(false); }
/// <summary> /// 获取文件版本号 /// </summary> /// <param name="fileName"></param> /// <returns></returns> public async Task <string> GetVersion(string fileName) { using (HttpClient httpClient = new HttpClient()) { try { HttpResponseMessage httpResponseMessage = await httpClient.GetAsync(this.url + "/getVersion?fileName=" + fileName); if (httpResponseMessage.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await httpResponseMessage.Content.ReadAsStringAsync()); if (respondResult.Result) { return(respondResult.Message); } else { return(null); } } } catch (Exception ex) { this.OnUpgradeError(new ErrorArgs(ex.Message)); } } return(null); }
/// <summary> /// 一次性上传 /// </summary> /// <param name="uri"></param> /// <param name="filePath"></param> /// <returns></returns> private async Task <bool> UploadOnce(string filePath) { using (FileStream fileStream = System.IO.File.OpenRead(filePath)) using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false })) //若想手动设置Cookie则必须设置UseCookies = false { MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent(); multipartFormDataContent.Add(new ProgressableStreamContent(fileStream, UploadBufferSize, (r, u) => this.OnUploadProgressChanged(new ProgressChangedArgs(r, u, fileStream.Length)), (s) => this.OnUploadSpeedChanged(new SpeedChangedArgs(s))), "file", (this.UploadFileNameAppendBefore == null ? string.Empty : this.UploadFileNameAppendBefore + "\\") + filePath.Replace(fileRoot + "\\", "")); try { var result = await client.PostAsync(new Uri(this.uploadUrl), multipartFormDataContent); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUploadError(new ErrorArgs(respondResult.Message)); } return(respondResult.Result); } } catch (Exception ex) { this.OnUploadError(new ErrorArgs(ex.Message)); } } return(false); }
/// <summary> /// 合并上传的分块 /// </summary> /// <param name="uri"></param> /// <param name="filePath"></param> /// <returns></returns> private async Task <bool> Merge(string filePath) { using (HttpClient httpClient = new HttpClient() { Timeout = TimeSpan.FromSeconds(30) }) { try { var result = await httpClient.GetAsync(this.MergeURL + "?fileName=" + Path.GetFileName(filePath)); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUploadError(respondResult.Message); } return(respondResult.Result); } } catch (Exception ex) { this.OnUploadError(ex.Message); } } return(false); }
/// <summary> /// 一次性上传 /// </summary> /// <param name="uri"></param> /// <param name="filePath"></param> /// <returns></returns> private async Task <bool> UploadOnce(string filePath) { using (FileStream fileStream = File.OpenRead(filePath)) using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false })) //若想手动设置Cookie则必须设置UseCookies = false { MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent(); multipartFormDataContent.Add(new ProgressableStreamContent(fileStream, UploadBufferSize, (u) => this.OnUploadProgressChanged((float)((decimal)u / fileStream.Length)), (s) => this.OnUploadSpeedChanged(s)), "file", Path.GetFileName(filePath)); try { var result = await client.PostAsync(new Uri(this.UploadUrl), multipartFormDataContent); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); if (!respondResult.Result) { this.OnUploadError(respondResult.Message); } return(respondResult.Result); } } catch (Exception ex) { this.OnUploadError(ex.Message); } } return(false); }
/// <summary> 异步获取下载流 /// </summary> /// <param name="fileName"></param> /// <returns></returns> public Task <RespondResult> Upload(HttpRequest httpRequest) { return(Task <RespondResult> .Run(() => { try { List <RespondResult> error = new List <RespondResult>(); foreach (var formFile in httpRequest.Form.Files) { RespondResult respondResult = null; if (formFile.Name == "file") { respondResult = this.UploadOnce(formFile); } else { respondResult = this.UploadChunk(formFile); } if (!respondResult.Result) { error.Add(respondResult); } } if (error.Count == 0) { return new RespondResult() { Message = "上传成功" }; } else { return new RespondResult() { Result = false, Message = "上传失败", Details = error.Select(e => e.Message).ToArray() }; } } catch (Exception ex) { return new RespondResult() { Result = false, Message = "上传失败" + ex.Message }; } })); }
/// <summary> /// 上传分块 /// </summary> /// <param name="uri"></param> /// <param name="stream"></param> /// <param name="filePath"></param> /// <param name="chunkName"></param> /// <param name="tryCount"></param> /// <returns></returns> private async Task <bool> UploadChunk(Stream stream, string filePath, string chunkName, long uploaded, long totalLength, long l, int tryCount = 0) { bool success = false; long loaded = 0; long aa = 0; using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false })) //若想手动设置Cookie则必须设置UseCookies = false { MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent(); multipartFormDataContent.Add(new ProgressableStreamContent(stream, UploadBufferSize, (r, u) => { aa = u; loaded = uploaded + u; this.OnUploadProgressChanged(new ProgressChangedArgs(r, uploaded + u, totalLength)); }, (s) => this.OnUploadSpeedChanged(new SpeedChangedArgs(s))), chunkName, (this.UploadFileNameAppendBefore == null ? string.Empty : this.UploadFileNameAppendBefore + "\\") + filePath.Replace(fileRoot + "\\", "")); try { var result = await client.PostAsync(new Uri(this.uploadUrl), multipartFormDataContent); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); success = respondResult.Result; if (!respondResult.Result) { this.OnUploadError(new ErrorArgs(respondResult.Message)); } } } catch (Exception ex) { this.OnUploadError(new ErrorArgs(ex.Message)); } } if (aa != l) { } if (!success && tryCount < 3) { this.OnUploadProgressChanged(new ProgressChangedArgs((int)(uploaded - loaded), uploaded, totalLength)); success |= await UploadChunk(stream, filePath, chunkName, uploaded, totalLength, l, tryCount + 1); } return(success); }
/// <summary> /// 上传分块 /// </summary> /// <param name="uri"></param> /// <param name="stream"></param> /// <param name="filePath"></param> /// <param name="chunkName"></param> /// <param name="tryCount"></param> /// <returns></returns> private async Task <bool> UploadChunk(Stream stream, string filePath, string chunkName, long uploaded, long totalLength, int tryCount = 0) { bool success = false; using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false })) //若想手动设置Cookie则必须设置UseCookies = false { MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent(); multipartFormDataContent.Add(new ProgressableStreamContent(stream, UploadBufferSize, (u) => { this.OnUploadProgressChanged((float)((decimal)(uploaded + u) / totalLength)); }, (s) => this.OnUploadSpeedChanged(s)), chunkName, Path.GetFileName(filePath)); try { var result = await client.PostAsync(new Uri(this.UploadUrl), multipartFormDataContent); if (result.IsSuccessStatusCode) { RespondResult respondResult = JsonConvert.DeserializeObject <RespondResult>(await result.Content.ReadAsStringAsync()); success = respondResult.Result; if (!respondResult.Result) { this.OnUploadError(respondResult.Message); } } } catch (Exception ex) { this.OnUploadError(ex.Message); } } if (!success && tryCount < 3) { this.OnUploadProgressChanged((float)((decimal)uploaded / totalLength)); success |= await UploadChunk(stream, filePath, chunkName, uploaded, totalLength, tryCount + 1); } return(success); }
public IActionResult Registration([FromBody] SysUserInfo model) { RespondResult result = new RespondResult(); model.Id = Guid.NewGuid().ToString(); model.CreateTime = DateTime.Now; model.UpdateTime = null; model.Password = Md5Helper.Md5(model.Password); int resultcount = systemUserService.AddUser(model); //用户注册失败 if (resultcount == 0) { result.is_success = false; result.msg = "注册失败"; result.result = null; } var tokenStr = AuthConfiguer.GetJWT(model, _jwtSettings); result.is_success = true; result.msg = "注册成功"; result.result = tokenStr; return(Ok(result)); }