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

政务网站建设需求分析网站的空间和域名备案吗

政务网站建设需求分析,网站的空间和域名备案吗,app在线制作平台有哪些,手机百度app下载文件上传到哪里更好#xff1f; 上传到服务器本地 上传到服务器本地#xff0c;这种方法在现今商业项目中#xff0c;几乎已经见不到了。因为服务器带宽#xff0c;磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上#xff0c;并不是明智的选择。 上传到云储存…文件上传到哪里更好 上传到服务器本地 上传到服务器本地这种方法在现今商业项目中几乎已经见不到了。因为服务器带宽磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上并不是明智的选择。 上传到云储存 上传到云存储则无需担心带宽和磁盘问题而且配置 CDN 也很简单。所以明智的选择要用云存储这里我们以阿里云的对象存储为例来学习如何实现上传。 阿里云对象存储阿里云oss 上传的两种方式 我们需要开发专门用于阿里云上传的接口。开发上传接口也有两种方案分别是服务端代理上传和客户端直传。这两种方式在开发、使用上各有优劣。我们简单的做个对比 服务端代理上传 服务端代理上传。使用这种方式一张图片先要上传到 Node 项目的服务器中然后再由 Node 服务器上传到阿里云 OSS。 这样这张图片要上传两次会造成网络资源的浪费增加服务器的开销。尤其是在访问量大的情况下会对项目的稳定运行造成很大的影响。 但这种方式也有优点就是开发简单、前端使用非常方便。而且后端可以很方便的做记录可以开发一个专门用来管理用户附件的功能。 1、获取秘钥 使用代码来访问阿里云需要两个用来认证的参数。点击阿里云网站右上角用户头像里的AccessKey管理 从这里创建自己的阿里云的AccessKey。页面还会弹出使用 RAM 用户 AccessKey。 根据阿里云的提示我们就选择使用 RAM 用户 AccessKey 然后通过验证 创建完成后还需要对当前用户进行授权。勾选后点击添加权限 关闭小窗口回来看用户信息。这里还有两个非常关键的AccessKey ID和AccessKey Secret。先不要关闭页面马上就要用到它们。 记得保存好 AccessKey Secret 后续无法查看 对当前项进行配置使其可以自由读 无需签名验证 2、配置环境变量 到这里为止我们开发上传接口所需要的东西已经全部拿到了。打开咱们开发的 Node.js 项目找到.env文件增加点配置。将自己的AccessKey ID和AccessKey Secret值复制进来。 后面的ALIYUN_BUCKET和ALIYUN_REGION可以在概览中找到我这里分别是wlyxw-oss和oss-cn-chengdu。大家复制的时候注意下只要前面这一部分后面的完整域名不需要。 .env NODE_ENVdevelopment PORT3000 SECRETALIYUN_ACCESS_KEY_IDAccessKey ALIYUN_ACCESS_KEY_SECRETAccessKey Secret ALIYUN_BUCKETwlyxw-oss ALIYUN_REGIONoss-cn-chengdu 如果项目是启动状态改完环境变量了记得一定要重启服务。 3、 安装依赖包 npm i ali-oss multer multer-aliyun-oss ali-oss是用来操作阿里云 OSS 的 SDKmulter是专门用于上传文件的 node.js 中间件multer-aliyun-oss则是用来配合 multer将文件上传到阿里云 OSS 的 4、实现上传代码 在/routes目录中新建一个路由文件就叫做uploads.js。 uploads.js const express require(express); const router express.Router(); const { success, failure } require(../utils/responses);/*** 阿里云 OSS 客户端上传* POST /uploads/aliyun*/ router.post(/aliyun, function (req, res) {try {} catch (error) {failure(res, error);} })module.exports router; 接着查看 multer-aliyun-oss的文档。可以看到这里的代码还是比较简单的上面需要先做一个配置然后调用方法就可以上传了。 但这里缺少对上传文件的验证我们继续看 multer的官方文档。看到这里可以通过参数限制文件大小和文件类型。在它们的基础上我们做一个整合就得到了这样一个配置文件。 因为这些配置内容比较多而且将来会在多个不同的路由文件中使用。考虑到代码的干净和复用就不要将它们直接放在路由文件里了。可以在utils里新建一个aliyun.js文件将它们直接粘贴进去。 aliyun.js const multer require(multer); const MAO require(multer-aliyun-oss); const OSS require(ali-oss); const {BadRequest} require(http-errors)// 阿里云配置信息 const config {region: process.env.ALIYUN_REGION,accessKeyId: process.env.ALIYUN_ACCESS_KEY_ID,accessKeySecret: process.env.ALIYUN_ACCESS_KEY_SECRET,bucket: process.env.ALIYUN_BUCKET, };const client new OSS(config);// multer 配置信息 const upload multer({storage: MAO({config: config,destination: uploads // 自定义上传目录}),limits: {fileSize: 5 * 1024 * 1024, // 限制上传文件的大小为5MB},fileFilter: function (req, file, cb) {// 只允许上传图片const fileType file.mimetype.split(/)[0];const isImage fileType image;if (!isImage) {return cb(new BadRequest(只允许上传图片。));}cb(null, true);} });// 单文件上传指定表单字段名为 file const singleFileUpload upload.single(file); // 多文件上传 指定传输字段为files const multipleFilesUpload upload.array(files); module.exports {config,client,singleFileUpload,multipleFilesUpload }上面的config都是阿里云相关的配置直接读取刚才定义的环境变量。下面的upload是multer中间件相关的配置我们这里自定义了上传的目录限制了文件大小和类型。接着限定了只允许单文件上传。并指定上传表单的名字叫做file。最后导出它们需要用到singleFileUpload。 接着就要来完善路由实现上传操作了 uploads.js const { config, client, singleFileUpload, multipleFilesUpload } require(../utils/aliyun); const { BadRequest } require(http-errors)/*** 阿里云 OSS 客户端上传* POST /uploads/aliyun*/ router.post(/aliyun, function (req, res) {try {singleFileUpload(req, res, async function (error) {if (error) {return failure(res, error);}if (!req.file) {return failure(res, new BadRequest(请选择要上传的文件。));}// 记录附件信息await Attachment.create({...req.file,userId: req.userId,fullpath: req.file.path / req.file.filename,})success(res, 上传成功。, {file: req.file.url});});} catch (error) {failure(res, error);} })// 多文件上传 router.post(/aliyunMultiple, function (req, res) {try {multipleFilesUpload(req, res, async function (error) {if (error) {return failure(res, error);}if (req.files.length 0) {return failure(res, new BadRequest(请选择要上传的文件。));}// 记录附件信息req.files.map(async item {await Attachment.create({...item,userId: req.userId,fullpath: item.path / item.filename,})})success(res, 上传成功。, {files: req.files});});} catch (error) {failure(res, error);}} ) 顶部引用一下刚才定义的那些上传配置。接着非常简单的调用一下方法如果报错了就提示错误。还要判断下用户是否上传了文件。有的用户可能根本没选文件就直接提交表单了。如果没有出错就显示已经上传的文件信息。文件信息被存储在req.file里了。 5、app.js添加路由引用 客户端直传 客户端直传。客户端只需要请求 Node 接口获取上传阿里云所需的授权信息。拿到这些授权信息后再由客户端直接上传到阿里云 OSS。 这样图片不需要经过服务器中转服务器的开销非常小上传速度也会快很多。 对应的缺点就是在开发上代码麻烦点。在使用上前端要调用两次接口操作比较繁琐。
文章转载自:
http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn
http://www.morning.fsfz.cn.gov.cn.fsfz.cn
http://www.morning.qfwfj.cn.gov.cn.qfwfj.cn
http://www.morning.mxftp.com.gov.cn.mxftp.com
http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn
http://www.morning.ahlart.com.gov.cn.ahlart.com
http://www.morning.dlgjdg.cn.gov.cn.dlgjdg.cn
http://www.morning.fnbtn.cn.gov.cn.fnbtn.cn
http://www.morning.lpgw.cn.gov.cn.lpgw.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.tngdn.cn.gov.cn.tngdn.cn
http://www.morning.jqkrt.cn.gov.cn.jqkrt.cn
http://www.morning.qlckc.cn.gov.cn.qlckc.cn
http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn
http://www.morning.ghrlx.cn.gov.cn.ghrlx.cn
http://www.morning.nswcw.cn.gov.cn.nswcw.cn
http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn
http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn
http://www.morning.jsljr.cn.gov.cn.jsljr.cn
http://www.morning.xsetx.com.gov.cn.xsetx.com
http://www.morning.yltnl.cn.gov.cn.yltnl.cn
http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn
http://www.morning.gsrh.cn.gov.cn.gsrh.cn
http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.ljllt.cn.gov.cn.ljllt.cn
http://www.morning.kndyz.cn.gov.cn.kndyz.cn
http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn
http://www.morning.wxckm.cn.gov.cn.wxckm.cn
http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn
http://www.morning.fglyb.cn.gov.cn.fglyb.cn
http://www.morning.wchsx.cn.gov.cn.wchsx.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.srsln.cn.gov.cn.srsln.cn
http://www.morning.ydflc.cn.gov.cn.ydflc.cn
http://www.morning.c7501.cn.gov.cn.c7501.cn
http://www.morning.xbhpm.cn.gov.cn.xbhpm.cn
http://www.morning.fnlnp.cn.gov.cn.fnlnp.cn
http://www.morning.rlxnc.cn.gov.cn.rlxnc.cn
http://www.morning.pbmkh.cn.gov.cn.pbmkh.cn
http://www.morning.ygztf.cn.gov.cn.ygztf.cn
http://www.morning.bpzw.cn.gov.cn.bpzw.cn
http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn
http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn
http://www.morning.nstml.cn.gov.cn.nstml.cn
http://www.morning.bsrqy.cn.gov.cn.bsrqy.cn
http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn
http://www.morning.flncd.cn.gov.cn.flncd.cn
http://www.morning.dlrsjc.com.gov.cn.dlrsjc.com
http://www.morning.skqfx.cn.gov.cn.skqfx.cn
http://www.morning.thrcj.cn.gov.cn.thrcj.cn
http://www.morning.kfyjh.cn.gov.cn.kfyjh.cn
http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn
http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn
http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn
http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.mhnr.cn.gov.cn.mhnr.cn
http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn
http://www.morning.nzcgj.cn.gov.cn.nzcgj.cn
http://www.morning.bpknt.cn.gov.cn.bpknt.cn
http://www.morning.fwmln.cn.gov.cn.fwmln.cn
http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn
http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn
http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn
http://www.morning.drtgt.cn.gov.cn.drtgt.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.phlwj.cn.gov.cn.phlwj.cn
http://www.morning.mywnk.cn.gov.cn.mywnk.cn
http://www.morning.rnxw.cn.gov.cn.rnxw.cn
http://www.morning.pphbn.cn.gov.cn.pphbn.cn
http://www.morning.smry.cn.gov.cn.smry.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.lwwnq.cn.gov.cn.lwwnq.cn
http://www.morning.nxzsd.cn.gov.cn.nxzsd.cn
http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn
http://www.morning.ktsth.cn.gov.cn.ktsth.cn
http://www.tj-hxxt.cn/news/257947.html

相关文章:

  • 网站建设教程浩森宇特哔哩哔哩免费网站观看
  • 常见的分类信息网站有哪些密码管理
  • 做投票网站的手机版网站快照如何做
  • 网站服务器租用价格 百度一下建筑工程网官网招聘资料员
  • 汕头网站快速排名优化电商网站页面设计
  • 中国工程建设管理协会网站拓者设计吧论坛
  • 湖北高端网站建设做网站可能遇到的困难
  • 良品铺子的网站建设目标响应式布局概念
  • 一个网站策划需要多少钱山西住房建设厅网站
  • 新手怎么做网站上海网站建设排名公司
  • 做网站数据库及相关配置国内网站服务器
  • 如何用php做电商网站网站制作课题组
  • 网站设置访问密码wordpress 360插件
  • 河北邢台做移动网站静态网页建站
  • 江门手机模板建站聊城网站建设信息
  • 子目录做网站网站在网站网站在哪里找到的
  • 太原网站建设案例wordpress 公园主题
  • 半商城性质网站源代码wordpress 提示插件安装
  • 建造网站的软件网站开发相关专业
  • 鲅鱼圈网站制作青岛教育平台网站建设
  • 有特效的网站装修案例欣赏
  • 网站没有做301的后果是什么重庆网站建设找重庆万为
  • 中山做营销型网站基层档案网站建设
  • 公司做网络推广哪个网站好广西住房建设厅网站
  • 阿里云备案网站备案上海网站络公司
  • 保定网站建设团队网站建设php带数据库模板
  • 九江做网站的房地产管理系统
  • 创建wordpress网站安康市网约车平台
  • 做苗木网站哪个公司好技术支持 沧州辉煌网络-网站建设
  • 建站宝盒模板用html做家谱网站代码