public Crawler Fetch() { var request = WebRequest.Create(this.SourceUrl); using (var response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { State = "Url returns " + response.StatusCode + ", " + response.StatusDescription; return(this); } if (response.ContentType.IndexOf("image") == -1) { State = "Url is not an image"; return(this); } try { var name = Path.GetFileName(this.SourceUrl); if (string.IsNullOrEmpty(name)) { name = "Crawler"; } var stream = response.GetResponseStream(); var reader = new BinaryReader(stream); byte[] bytes; string servePath = ""; using (var ms = new MemoryStream()) { byte[] buffer = new byte[4096]; int count; while ((count = reader.Read(buffer, 0, buffer.Length)) != 0) { ms.Write(buffer, 0, count); } HttpResult res = QiniutokenHelper.UploadFile(ms, name, out servePath); if (res.Code == 200) { this.ServerUrl = servePath; State = "SUCCESS"; } else { State = "Error"; } } } catch (Exception e) { LogHelper.WriteLog(e, "Fetch"); State = "抓取错误:" + e.Message; } return(this); } }
public override void Process() { try { string uploadFileName = null; var accessKey = ConfigurationManager.AppSettings["qiniukey"]; //填写在你七牛后台找到相应的accesskey "TYb8ZurNoN-xrUOhnNom_q3ZdPl1OLJqUsvoP0xB"; var secretKey = ConfigurationManager.AppSettings["qiniusercet"]; //填写在你七牛后台找到相应的secretkey""d7ajdjoitbUiJZQY7ANw5bSf3p6K3nQA8KkGxIDq";; HttpPostedFile file = Request.Files[UploadConfig.UploadFieldName]; Stream myStream = file.InputStream; uploadFileName = file.FileName; if (!CheckFileType(uploadFileName)) { Result.State = UploadState.TypeNotAllow; WriteResult(); return; } if (!CheckFileSize(file.ContentLength)) { Result.State = UploadState.SizeLimitExceed; WriteResult(); return; } HttpResult result = QiniutokenHelper.UploadFile(myStream, uploadFileName, out string key); if (result.Code == 200) { this.Result.State = UploadState.Success; // this.Result.Url = $"http://ptdzsd6xm.bkt.clouddn.com{Path.DirectorySeparatorChar}{key}"; this.Result.Url = key; } } catch (Exception ex) { LogHelper.WriteLog(ex, "Process"); throw ex; } finally { WriteResult(); } }
public Crawler Fetch() { var request = HttpWebRequest.Create(this.SourceUrl) as HttpWebRequest; using (var response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { State = "Url returns " + response.StatusCode + ", " + response.StatusDescription; return(this); } if (response.ContentType.IndexOf("image") == -1) { State = "Url is not an image"; return(this); } try { var name = Path.GetFileName(this.SourceUrl); if (string.IsNullOrEmpty(name)) { name = "Crawler"; } var stream = response.GetResponseStream(); HttpResult res = QiniutokenHelper.UploadFile(stream, name, out string servePath); if (res.Code == 200) { this.ServerUrl = servePath; State = "SUCCESS"; } else { State = "Error"; } } catch (Exception e) { LogHelper.WriteLog(e, "Fetch"); State = "抓取错误:" + e.Message; } return(this); } }