当前位置: 首页 > wzjs >正文

网站上面的主导航条怎么做河北seo网络优化师

网站上面的主导航条怎么做,河北seo网络优化师,广州十大装修设计公司,成都响应式网站建设在某些场合,需要临时将一个文件存储到一个可被公网访问的地方,某个服务需要访问一下这个文件。这个文件基本上就是一次寿命,也就是你上传一下,然后被访问一下,这个文件的寿命就结束了。 对于这种需求,自建…

在某些场合,需要临时将一个文件存储到一个可被公网访问的地方,某个服务需要访问一下这个文件。这个文件基本上就是一次寿命,也就是你上传一下,然后被访问一下,这个文件的寿命就结束了。

对于这种需求,自建服务程序,太麻烦。刚好,阿里云提供了这样的服务。其实就三个步骤:
1、创建一个临时存放的位置
2、上传文件
3、获取这个临时存放的位置对应的公网URL
然后将这个URL提供给某个服务就可以了 ,文件大约保存1个小时。那么这个文件的有效期也就是一个小时,基本上够用了。

接下来,按照如下编码,即可使用此功能。

获取临时文件上传地址


private static Client CreateHbrClient()
{return new Client(new Config{AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),Endpoint = "hbr.cn-hangzhou.aliyuncs.com"});
}private static CreateTempFileUploadUrlResponse? UploadFileToTempStorage(string filePath){Client client = CreateHbrClient();try{return client.CreateTempFileUploadUrlWithOptions(new CreateTempFileUploadUrlRequest{FileName = Path.GetFileName(filePath)},new RuntimeOptions());}catch (Exception error){Console.WriteLine(error.Message);Console.WriteLine(error.Data["Recommend"]);}return null;}

上载临时文件

正在实现C#代码(这里试了很多次(HttpClient、WebClient),都没搞定,最后用最原始的方式组装数据才能用)。但是Python代码不会遇到问题。

 public static void PostFile1(string filePath, CreateTempFileUploadUrlResponse data){//提交文件Console.WriteLine("curl -X POST ^");Console.WriteLine("-F \"OSSAccessKeyId=" + data.Body.OssAccessKeyId + "\" ^");Console.WriteLine("-F \"Signature=" + data.Body.Signature + "\" ^");Console.WriteLine("-F \"Policy=" + data.Body.Policy + "\" ^");Console.WriteLine("-F \"key=" + data.Body.TempFileKey + "\" ^");Console.WriteLine("-F \"file=@" + filePath + "\" ^");Console.WriteLine($"https://{data.Body.BucketName}.{data.Body.Endpoint}/");Console.WriteLine("");Console.ReadLine();}public static void PostFileAsync(string filePath, CreateTempFileUploadUrlResponse data){//PostFile1(filePath, data);var uploadUrl = $"https://{data.Body.BucketName}.{data.Body.Endpoint}/";string host = $"{data.Body.BucketName}.{data.Body.Endpoint}";string boundary = "---------------------------boundary";string contentType = "multipart/form-data; boundary=" + boundary;// 构造请求头string requestHeader = $"POST / HTTP/1.1\r\n";requestHeader += $"Host: {host}\r\n";requestHeader += $"Content-Type: {contentType}\r\n";requestHeader += "Connection: close\r\n";// 构造请求体StringBuilder requestBody = new StringBuilder();requestBody.AppendLine($"--{boundary}");requestBody.AppendLine("Content-Disposition: form-data; name=\"OSSAccessKeyId\"");requestBody.AppendLine();requestBody.AppendLine(data.Body.OssAccessKeyId);requestBody.AppendLine($"--{boundary}");requestBody.AppendLine("Content-Disposition: form-data; name=\"Signature\"");requestBody.AppendLine();requestBody.AppendLine(data.Body.Signature);requestBody.AppendLine($"--{boundary}");requestBody.AppendLine("Content-Disposition: form-data; name=\"Policy\"");requestBody.AppendLine();requestBody.AppendLine(data.Body.Policy);requestBody.AppendLine($"--{boundary}");requestBody.AppendLine("Content-Disposition: form-data; name=\"key\"");requestBody.AppendLine();requestBody.AppendLine(data.Body.TempFileKey);requestBody.AppendLine($"--{boundary}");requestBody.AppendLine("Content-Disposition: form-data; name=\"file\"; filename=\"" + Path.GetFileName(filePath) + "\"");requestBody.AppendLine("Content-Type: audio/m4a");requestBody.AppendLine();byte[] requestBodyBytes = Encoding.UTF8.GetBytes(requestBody.ToString());// 读取文件内容byte[] fileBytes = File.ReadAllBytes(filePath);// 构造完整的请求数据byte[] requestBytes = new byte[requestBodyBytes.Length + fileBytes.Length + Encoding.UTF8.GetBytes($"\r\n--{boundary}--\r\n").Length];requestBodyBytes.CopyTo(requestBytes, 0);fileBytes.CopyTo(requestBytes, requestBodyBytes.Length);Encoding.UTF8.GetBytes($"\r\n--{boundary}--\r\n").CopyTo(requestBytes, requestBodyBytes.Length + fileBytes.Length);// 发送请求using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)){IPAddress ipAddress = Dns.GetHostEntry(host).AddressList[0];IPEndPoint remoteEP = new IPEndPoint(ipAddress, 443);socket.Connect(remoteEP);// 使用SslStream封装Socket连接using (SslStream sslStream = new SslStream(new NetworkStream(socket), false, (object sender, X509Certificate? certificate, X509Chain? chain, SslPolicyErrors sslPolicyErrors)=>true)){sslStream.AuthenticateAsClient(host);// 发送请求头byte[] headerBytes = Encoding.UTF8.GetBytes(requestHeader + $"Content-Length: {requestBytes.Length}\r\n\r\n");sslStream.Write(headerBytes);// 发送请求体sslStream.Write(requestBytes);// 接收响应byte[] buffer = new byte[1024];int bytesRead;StringBuilder response = new StringBuilder();while ((bytesRead = sslStream.Read(buffer, 0, buffer.Length)) > 0){response.Append(Encoding.UTF8.GetString(buffer, 0, bytesRead));}Console.WriteLine("Response:");Console.WriteLine(response.ToString());}}}

获取文件路径

    public static string? GetUrl(string filePath, CreateTempFileUploadUrlResponse data){Client client = CreateHbrClient();try{return client.GetTempFileDownloadLinkWithOptions(new GetTempFileDownloadLinkRequest{TempFileKey = data.Body.TempFileKey,},new RuntimeOptions()).Body.Url;}catch (Exception error){Console.WriteLine(error.Message);Console.WriteLine(error.Data["Recommend"]);}return null;}
}

执行代码


const string filePath = "C:\\Users\\Zmrbak\\Documents\\Camtasia\\声线20250513-26.m4a";//获取临时文件上传地址
var urlResponse = UploadFileToTempStorage(filePath);
if (urlResponse == null) return;//上载临时文件
await PostFileAsync(filePath, urlResponse);//获取文件路径
var url = GetUrl(filePath, urlResponse);
Console.WriteLine(url);
http://www.dtcms.com/wzjs/296489.html

相关文章:

  • 静态网站托管seo现在还有前景吗
  • 网站设计与网站建设课程代码成都关键词自然排名
  • 思睿鸿途北京网站建设友情下载网站
  • 苏州网站制作开发百度客户电话
  • 眼科医院网站做竞价带来的询盘量bt鹦鹉磁力
  • 网站开发大概多久娄底seo
  • 做阿里巴巴类似的网站吗建网站怎么建
  • java电商网站开发技术点2345浏览器网址导航
  • 做动效很好的网站苏州seo优化公司
  • 跨境电商主要平台有哪些seo是什么意思如何实现
  • wordpress站点费用广告推广免费
  • 优秀全屏企业网站企业seo排名哪家好
  • 哪种类型的网站比较难做专业seo培训
  • WaP网站模块seo按照搜索引擎的什么对网站
  • 一个网站做两个语言模板可以吗免费观看行情软件网站下载
  • 正常成都建设网站自己怎么制作网站
  • 建站教程视频下载东莞网站建设
  • 张家港网站制作哪家好太原seo网络优化招聘网
  • 网站建设的一般步骤包括公司建网站需要多少钱
  • 如何做网站推广实时热搜
  • 免费html网站登录模板网络营销课程学什么
  • 网站开发管理search搜索引擎
  • 有没有跟一起做网店一样的网站2023今日新闻头条
  • 维吾尔网站建设学术seo网络运营
  • 龙岗中学seo收录查询工具
  • 郑州做网站销售怎么样宁波seo整体优化
  • 网站建设公司愿景超级外链工具
  • 做网站被坑公司网站推广方案
  • 做菠菜网站判多久网页开发
  • 口碑好的定制网站建设服务商厦门关键词优化seo