首页 > 其他分享 >fetch call web api upload or update picture

fetch call web api upload or update picture

时间:2024-12-02 14:56:10浏览次数:6  
标签:function web picture data update 上传 fetch

昨天C# + html + fetch + API + javascript https://www.cnblogs.com/insus/p/18579193

其中有一个图片相关的功能,现把它解说一下。
html页面上,简单的input和button,无需何附加<form action="/action_page_binary.asp" method="post" enctype="multipart/form-data">...</form>另处button的type直接是type="button"非type="submit"。


 

写Web API, 2个方法,upload and update ,其实Insus.NET略过一些代码,MultipartStreamProvider 类别,可以参考msdn:https://learn.microsoft.com/en-us/previous-versions/aspnet/hh995283(v=vs.118)  它将处理上传的文档和用户的一些附加信息。

 

 

接下来,可以写js code, 完整代码,会有些长, 上传,图片呈现,还可以对已经上传的图片进行编辑,更新和删除等功能,慢慢仔细看来...

根据上一篇,是使用 fetch来呼叫web api,因此这随笔也是继续使用fetch实现。

找到上传铵钮,添加click监听addEventListener()。由于上传,你还得在header中配置Access-Control-Allow-Origin,这可参考示例。当然,你在这个function做一些其它处理,判断文件类别,大小,生成缩略图等...

async function upload_Picture(url, options),

h

 上传成功之后,你还得把上传的图片显示一页面上,供操作者有再次对其编辑与管理功能。

function load_picture(),

 

async function getPictureData(url, options),

 getPictureData从数据获取数据,将数据(图片)呈现在html的table上,几个function动态生成的管理铵钮,input,click button,update,cancel,delete
上面这此铵钮js分别如下,
function dynamic_picture_rendering(data),

图片无需要在前端另外处理,Insus.NET在数据库直接把varbinary转成base64的字符串了。在本博客应该有相关代码解说。

function editbutton_eventlistener(data),
and
function cancelbutton_eventlistener(data),

 上面2个function,只是为了动态生成的铵钮显示与隐藏而已。

function updatebutton_eventlistener(data),

此处理更新与篇前的上传功能一样,细节处仍有一些少变化。

async function update_picture(url, options),

 更新成功之后,得把图片再次加载呈现。

最后是动态生成的删除铵钮的事件,传入图片记录的主键,在数据中执行 删除。
function deleteButton_eventlistener(data),

 对删除操作,需要提供操作者有思考的确认。confirm,点OK,删除,点cancel是取消删除。

async function delete_pictute(url, options, index),

 

function remove_table_column(index),

 

上面这个function,即是在删除图片时,需要把整2行移除,也就是说,表格整列移除。
这只是为了显示效率问题,如果十分不想这样做,你可以重新从数据库获取数据,再加载。
演示,

 

标签:function,web,picture,data,update,上传,fetch
From: https://www.cnblogs.com/insus/p/18581558

相关文章

  • 基于Java web的考勤系统设计与实现-计算机毕业设计源码42117
    基于Javaweb的考勤系统设计与实现摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,考勤系统的研究旨在设计和开发一种自动化的考勤管理系统,以提高组织内部的考勤效率、减少人力成本,并确保员工的出勤数据......
  • 不同源H5页面消息通信(web-view 内的H5向父级页面发消息并回传结果给子页面)
    文章目录父级H5页面子级H5页面应用场景是两个H5不同源的情况下实现消息互通。本示例使用uniapp开发H5,父级H5通过<web-view>组件加载子H5页面;子H5页面向父级H5发送消息调起父级H5页面的微信扫一扫功能,再将扫一扫结果回传给子H5页面。父级H5链......
  • JavaWeb:Servlet详解
    该笔记根据尚硅谷的JavaWeb课程进行整理 一、Servlet简介静态资源和动态资源:(1)静态资源:无需通过代码运行生成的资源,例如:html、css、js、img,音频和视频文件(2)动态资源:需要通过代码运行生成的资源。在程序运行之前无法确定的数据,运行时动态生成,例如:Servlet、Thymeleaf......画图......
  • SpringBootWeb 入门程序
    步骤1.创建springboot工程,并勾选web开发相关依赖IDEA/文件/新建/模块/SpringBoot/改名什么的/确认依赖项/SpringBoot3.4.0(最新稳定版本)/Web/SpringWeb/创建2.定义HelloController类,添加方法hello,并添加注释,然后启动。src/main/java/在软件包里新建一个包(control)包下......
  • 【WEB漏洞】并发漏洞+经典案例
    一、简单介绍1.1并发漏洞概述1.2并发漏洞常出现的功能点及解决方法1.2.1用户注册/账户管理1.2.2秒杀/抢购功能1.2.3支付与结算1.2.4文件读写1.2.5日志记录1.2.6缓存更新1.2.7任务调度......
  • RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式
    1、介绍在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。目前主流的方式就三种:数据库直连、WCF模式、WebAPI模式,三这种方式都......
  • 渗透测试之Web基础之Linux病毒编写——泷羽sec
    声明:        学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频(bilibili.com)https://space.bilibili.com/350329294导读:时刻保持谦逊......
  • git push 报错 Updates were rejected because the tip of your current branch is be
    [root@localhostnewccdeploy]#gitpushUsernamefor'https://172.28.17.127':xxxxPasswordfor'https://xxxxx@172.28.17.127':Tohttps://172.28.17.127/pmc/Operations/newccdeploy.git![rejected]main->main(non-fast-forwa......
  • WebRTC涉及的安全问题
    WebRTC作为开源技术为用户提供了方便的实时通信能力,但同时也暴露了新的安全挑战。WebRTC的安全性不仅仅依赖于传统的Web安全防护,还涉及到协议层、应用层等多个方面的安全考虑。在WebRTC的应用和部署中,有几种典型的攻击类型需要特别关注,包括API攻击、协议攻击和信令通道攻击。1......
  • webrtc中的协议和用途
    WebRTC(WebReal-TimeCommunication)是一个开源项目,旨在使浏览器和移动应用能够实现实时音视频通信和数据传输,而无需依赖传统的插件或第三方工具。为了支持这种实时通信,WebRTC采用了一系列协议,这些协议的作用分布在应用层、传输层和网络层。应用层包括HTTP,WebSocket,SRTP,SDP,ICE,ST......