wap网站开发价格网页页面设计报价

news/2025/9/28 20:43:45/文章来源:
wap网站开发价格,网页页面设计报价,我的家乡网页制作代码,网站建设与维护A卷答案Blazor不得不说真是好东西#xff0c;极大的提升了开发效率#xff0c;很多的页面交互功能基本上只需要写很少的代码就能实现了#xff0c;而且还是无js实现#xff0c;你也绝对没有想到过#xff0c;Blazor实现文件上传是有多么简单#xff01;先说结论#xff1a;Blaz… Blazor不得不说真是好东西极大的提升了开发效率很多的页面交互功能基本上只需要写很少的代码就能实现了而且还是无js实现你也绝对没有想到过Blazor实现文件上传是有多么简单先说结论Blazor实现带进度显示的文件上传真的很简单效果看图实现这么一个小功能仅仅只花了不到50行的代码就实现了接下来就给大家分享下案例实现吧。首先引入Tewr.Blazor.FileReader包这个包能够提供文件上传的流式读取这样便可以实现在服务端对上传文件进行一边上传一遍写文件的操作。配置依赖注入(站长注这是Blazor Server模式wasm方式请查看文末仓库文档说明)services.AddFileReaderService();接下来我们先进行页面布局很简单再声明两个变量用于显示进度和显示图片input typefile/button上传文件/button divif (!string.IsNullOrEmpty(_src)){img src_src width600px /}else{pprogress/p} /div然后在组件中注入IFileReaderService服务using Tewr.Blazor.FileReader inject IFileReaderService fileReaderService;为了让文件框能够和C#代码进行交互所以需要将它通过ElementReference引用起来:input refinputTypeFileElement typefile /button上传文件/button divif (!string.IsNullOrEmpty(_src)){img src_src width600px /}else{pprogress/p} /div code {private ElementReference inputTypeFileElement;private string _src;private string progress; }给按钮绑定事件按钮触发后通过fileReaderService进行文件流的读取接下来便是常规的二进制数据copy操作可以拿到文件的传输进度计算之后便能显示到页面中button onclickReadFile上传文件/buttonpublic async Task ReadFile() {_src  ;foreach (var file in await fileReaderService.CreateReference(inputTypeFileElement).EnumerateFilesAsync()){await using var fileStream  await file.OpenReadAsync();var buffer  new byte[2048];var finalBuffer  new byte[fileStream.Length];int count;int totalCount  0;while ((count  await fileStream.ReadAsync(buffer, 0, buffer.Length)) ! 0){Buffer.BlockCopy(buffer, 0, finalBuffer, totalCount, count);totalCount  count;progress  文件上传中   (int)(totalCount * 100.0 / fileStream.Length)  %;StateHasChanged();}_src  $data:image/jpg;base64,{Convert.ToBase64String(finalBuffer)};progress  ;StateHasChanged();} }完整代码如下page /counter using Tewr.Blazor.FileReader inject IFileReaderService fileReaderService;input refinputTypeFileElement typefile / button onclickReadFile上传文件/button divif (!string.IsNullOrEmpty(_src)){img src_src width600px /}else{pprogress/p} /divcode {private ElementReference inputTypeFileElement;private string _src;private string progress;public async Task ReadFile(){_src  ;foreach (var file in await fileReaderService.CreateReference(inputTypeFileElement).EnumerateFilesAsync()){await using var fileStream  await file.OpenReadAsync();var buffer  new byte[2048];var finalBuffer  new byte[fileStream.Length];int count;int totalCount  0;while ((count  await fileStream.ReadAsync(buffer, 0, buffer.Length)) ! 0){Buffer.BlockCopy(buffer, 0, finalBuffer, totalCount, count);totalCount  count;progress  文件上传中   (int)(totalCount * 100.0 / fileStream.Length)  %;StateHasChanged();}_src  $data:image/jpg;base64,{Convert.ToBase64String(finalBuffer)};progress  ;StateHasChanged();}} }站长插播文章首图演示的是一张不到1MB的图片因为Tewr.Blazor.FileReader这个包提供文件上传的流式读取上传大文件也是可以的下面这是上传一个34.2MB的ZIP压缩包Blazor服务端模式demo做的一般可能gif看不出啥只是为了证明这个包确实不错要实现大文件上传可把上面单包读取大小改大一点比如512KB:var buffer  new byte[1024*512];如果看下方微软Blazor文件上传文档把单包大小改成大于20KB页面可能会卡一下然后页面自动刷新就把上传操作给重置了而使用这个包确没这个问题这个包很nice。OK本文完。参考Blazor实现文件上传带进度显示案例分享[1]https://github.com/Tewr/BlazorFileReader[2]https://docs.microsoft.com/zh-cn/aspnet/core/blazor/file-uploads?viewaspnetcore-6.0pivotsserver[3]参考资料[1]Blazor实现文件上传带进度显示案例分享: https://masuit.com/1676[2]https://github.com/Tewr/BlazorFileReader: https://github.com/Tewr/BlazorFileReader[3]https://docs.microsoft.com/zh-cn/aspnet/core/blazor/file-uploads?viewaspnetcore-6.0pivotsserver: https://docs.microsoft.com/zh-cn/aspnet/core/blazor/file-uploads?viewaspnetcore-6.0pivotsserver

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设实训的方法wordpress 图片打开慢

难度困难314 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3]1/ \2 3输出: 6示例 2: 输入: …

织梦网站装修公司源码中铁建设集团有几个局

PC 终端作为最主流最高频的生产力工具,其操作系统承载着用户的大量场景、数据以及技能。随着生成式人工智能浪潮的来临,新的技术架构、交互模式和新的生态,都需要操作系统承担起更多责任,即需要新一代的操作系统产品 ——AIOS&…

Excel 转在线协作难题破解:SpreadJS 纯前端表格控件的高效的技术方案与实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年芝麻灰厂家 TOP 企业品牌推荐排行榜,芝麻灰路沿石,花岗岩石材,火烧板,地铺石,板材,挡车球,桥栏杆,楼梯踏步,门牌石,水篦子公司推荐

在石材行业快速发展的当下,芝麻灰凭借坚固耐用、装饰性强的特质,成为市政工程、房地产建设等领域的热门选材。但市场上的芝麻灰厂家数量众多,资质参差不齐,让采购者面临诸多选择难题。部分厂家存在资源储备不足导致…

帮人注册网站_做app可以做网站背景音乐的英文歌曲

随着信息化时代的深入发展,数据库技术作为支撑信息化应用的核心技术,其重要性日益凸显。本次大会以“数据价值,驱动未来”为主题,聚焦数据库领域的前沿技术与最新动态,吸引了数千名业界专家、企业代表和数据库技术爱好…

网站管理密码高端网站建设网站定制

1.右键“此电脑”,点击管理 2.选择“存储”–磁盘管理 3.右键未分配磁盘–新建简单卷 4.一路默认设置即可

北京设计公司网站自己做网站能关联支付宝吗

MoE(Mixture of Experts)架构在人工智能领域具有以下优势: 1. **表现力强大**:MoE通过融合多个专家模型,能够更好地适应不同输入样本的特点,提高模型的表达能力,从而在处理复杂任务时表现出更高…

手机网站登陆模板安阳seo优化

学习和掌握QT6.3的技巧和入门方法,可以让你更快速地掌握和使用这个开发工具。下面是一些建议和步骤: 学习基础知识:在开始学习QT6.3之前,建议先了解一些基础知识,例如C编程语言和图形用户界面的基本概念等。这些知识可…

做网站所需技术wordpress 首页变量

相信不少同学在开发“微信支付”的时候遇到了无法获取Token的难题,这里贴出我成功获取Token的php源码: 步骤如下: 1,确保你服务器的php环境是搭建好的,意思就是可以正确运行php程序 2,确定微信Token访问你…

网站图片怎样做seo优化东莞网站设计制作

插入排序的最好的情况是O(n)&#xff0c;最坏的情况O(n^2),因此是稳定的 冒泡排序最好的情况是O(n)&#xff0c;最坏的情况O(n^2)因此是稳定的 //插入排序 void insert_sort(int* arr, int n) { int temp -1; for (int i1;i<n;i){ temp arr[i]; int j i - 1; //从后往前…

Node.js 记录删除:完整指南

Node.js 记录删除:完整指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

革吉网站建设网页设计师的发展前景

mixins 是一个 js 对象&#xff0c;它可以包含我们组件中JS部分的任意功能选项&#xff0c;如&#xff1a;data、components、methods、created、computed 等等。我们只要将公用的功能以对象的方式传入 mixins 选项中&#xff0c;当组件使用 mixins 对象时所有 mixins 对象都将…

一般使用的分辨率的显示密度是多少dpi苏州网站建设优化

CCNA-第十四篇-NAT-下 这一篇是是针对一下华为设备的nat,然后讲讲链路聚合 下一篇来一个DHCP一点点的SDN的介绍 **然后讲完SDN就基本上CCNA结束了哦**华为的链路聚合叫Eth-trunk 思科的链路聚合叫Ether-Channel 华为静态NAT 环境如下 首先把他的telnet开起来,server也是…

2025.9.28

今天上早八,出去做美甲,用了4个小时,然后吃麻辣烫,不好吃,然后回学校上选修课

无旋Treap(非指针)实现

#include<bits/stdc++.h>namespace fastIO{template<typename T> inline void input(T& x){T s=0,f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar()) if(ch==-) f=-1;for(;isdigit(ch);ch=getch…

深入解析:宝塔面板搭建RustDesk教程:告别命令行,一键拥有私有远程桌面

深入解析:宝塔面板搭建RustDesk教程:告别命令行,一键拥有私有远程桌面pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

Windows 安装达梦数据库

1、安装前准备 1.1、最低硬件环境要求CPU 内存 硬盘2 核 2 GB 10 GB 空闲空间1.2、下载达梦数据库安装包官网下载地址:https://eco.dameng.com/download/ 1.3、解压安装包如上图所示,右击安装压缩包,然后点击“全部…

有旋Treap

#include<iostream>using namespace std; /*本代码模拟的是小根堆*/ const int N = 5e5+1, INF = 0x3f3f3f3f; struct node {int l, r, val, pos, siz, cnt; //val:结点的值,pos:随机生成的优先级(尽量避免退…

xxO

1、POJO(Plain Old Java Object) 普通的java对象,没有继承特定类,实现特定接口或特定注解,仅包含字段、getter/setter、构造方法等基础成员。纯粹用于数据存储和传递,可在各层之间通用。POJO更贴近业务本质,代表…

情绪识别论文阅读——Eyemotion - 详解

情绪识别论文阅读——Eyemotion - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…