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

建设自己的网站有钱赚么淮安网站制作多少钱

建设自己的网站有钱赚么,淮安网站制作多少钱,二次开发招聘,pageadmin 制作网站怎么绑定域名文章目录 一. 总体代码流程1.1 全局Axios部分样例1.2 上传业务 二. 后端部分三. 测试样例 go的mvc层使用gin框架. 总的来说gin的formFile封装的不如springboot的好.获取值有很多的坑. 当然使用axios的formData也有不少坑.现给出较好的解决办法 以下部分仅贴出关键代码 一. 总… 文章目录 一. 总体代码流程1.1 全局Axios部分样例1.2 上传业务 二. 后端部分三. 测试样例 go的mvc层使用gin框架. 总的来说gin的formFile封装的不如springboot的好.获取值有很多的坑. 当然使用axios的formData也有不少坑.现给出较好的解决办法 以下部分仅贴出关键代码 一. 总体代码流程 1.1 全局Axios部分样例 axios前后端网络交互 axios.defaults.headers[Content-Type] application/json;charsetutf-8 // 创建axios实例 const service axios.create({// axios中请求配置有baseURL选项表示请求URL公共部分baseURL: http://127.0.0.1:20139,// 超时timeout: 5000 })export default service;// 不使用service实例.重新创建axios封装上传 export function uploadFiles(url,data{}){return axios({method: POST,url: http://127.0.0.1:20139url,transformRequest: [function(data, headers) {// 去除post请求默认的Content-Typedelete headers[Content-Type]return data}],data: data,}) }1.2 上传业务 关键代码一览.需要留意的是,我使用手动上传,element中before-upload,before-remove失效. 为避免更多问题使用了on-change监听.其中uploadFile参数是element封装的普通对象. file对象被封装在其中的raw属性. 这一点要尤为注意 gin框架不同于springboot. formfile只能读取file类型 el-form :inlinetrue:modelresumeFormclassdemo-form-inlinelabel-positionrightlabel-width100pxel-row :gutter20el-col :span6el-form-item label姓名el-input v-modelresumeForm.name placeholder请输入姓名 clearable//el-form-item/el-colel-col :span6el-form-item label电话el-input v-modelresumeForm.phone placeholder请输入电话 clearable//el-form-item/el-colel-col :span6el-form-item label邮箱el-input v-modelresumeForm.email placeholder请输入邮箱 clearable//el-form-item/el-col/el-rowel-row :gutter20el-col :span6el-form-item label工作经验el-input v-modelresumeForm.experience placeholder请输入工作经验 clearable//el-form-item/el-colel-col :span6el-form-item label学历el-selectv-modelresumeForm.educationplaceholder请选择学历水平clearableel-option label专科 value0/el-option label本科 value1/el-option label研究生 value2/el-option label博士 value3//el-select/el-form-item/el-col/el-rowel-rowel-col :span24el-form-item label上传简历el-uploadrefrecruitRefclassupload-demodragaction#:auto-uploadfalse:on-changehandleChangelimit1el-icon classel-icon--uploadupload-filled//el-icondiv classel-upload__text拖拽 或 em点击上传/em/divtemplate #tipdiv classel-upload__tip.pdf 文件大小 ≤ 500kb/div/template/el-upload/el-form-item/el-col/el-rowel-form-itemel-button typeprimary clickpostResumeForm()投递/el-button/el-form-item/el-formconst router useRouter() const resumeForm reactive({name: ,phone: ,email: ,experience: ,education: ,position: router.currentRoute.value.params.position })const recruitRef ref() let formData new FormData() // 文件改变触发 function handleChange(uploadFile, uploadFiles) {// 文件校验if (!verifyBeforeUpload(uploadFile)) {removeFile()return}console.log(uploadFile)formData.append(file, uploadFile.raw) }function removeFile() {if (recruitRef.value) {formData new FormData()recruitRef.value.clearFiles()} } // 提交表单 function postResumeForm() {ElMessageBox.confirm(确认提交?提交后仅能修改一次, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning}).then(async () {if (formData null || formData undefined) {ElMessage.info(必须递交简历信息!)return}for (let key in resumeForm) {formData.append(key,resumeForm[key])}let res await reqPostResumeForm(formData)if (res.code ! 200) {ElMessage.error(简历投递失败)return}await ElMessageBox.alert(简历投递成功! 3-7个工作日内,您将收到回复, 提示, {confirmButtonText: 确认})removeFile()}).catch((err) {removeFile()console.log(err)ElMessage.info(简历投递已取消!)}) }文件校验部分 // 单文件大小校验 function verifyFileSize(file) {if (file) {let fileSize file.size;let fileMaxSize 1024 * 500;//500kbif (fileSize fileMaxSize) {ElMessage.error(文件不能大于500kb);file.value ;return false;} else if (fileSize 0) {ElMessage.error(文件不能为0kb);file.value ;return false;}return true}ElMessage.error(必须传递文件!)return false;}// 校验文件格式和大小 export function verifyBeforeUpload(file) {// 格式const extension file.name.split(.).pop().toLowerCase();console.log(extension)if (!ACCEPTED_EXTENSIONS.includes(extension)) {ElMessage.error(仅支持 pdf 格式的文件);return false;}// 大小return verifyFileSize(file); }请求发送部分 export function reqPostResumeForm(formData){return uploadFiles(jobs.postResumeUrl,formData) }二. 后端部分 func PostResume(c *gin.Context) {file, err : c.FormFile(file)if err ! nil {panic(fmt.Sprintf(file参数不能为空))}var resume model.Resumeerr c.ShouldBind(resume)if err ! nil {panic(fmt.Sprintf(resume获取错误,原因是: %v, err))}log.Printf(%v, file) }三. 测试样例
http://www.dnsts.com.cn/news/124646.html

相关文章:

  • 公司注册网站怎么做网站建设学生选课系统
  • php做的网站网站建立的优点
  • 新手怎么建立自己的网站金桥网站建设
  • ps做网站需注意网页设计基础入门
  • 网站建设198红色基调的网站
  • 西安网站改版网站做好了每年都要续费吗
  • 卖钢材做哪个宣传网站做购物平台网站客户体验活动
  • 如何申请免费的网站空间石家庄建设局
  • 上海有多少家网站建设公司学好wordpress怎么赚钱
  • 贵州建设官方网站wordpress 前台上传
  • 网站制作模板程序婚庆公司创业计划书
  • 泉州模板网站建站济南又出现5例
  • 潍坊青州网站建设网页制作教程步骤视频讲解
  • 旅游精品网站建设雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何
  • 安庆网站关键词优化html5网站源码带后台
  • 一级站点和二级站点区别html 公司网站 代码下载
  • 网站建设通讯稿wordpress 哪些网站
  • 苏州做企业网站的公司做编程的网站有哪些
  • 舟山市规划建设局网站设计师网名高级
  • 烟台网站建设服务西安到北京需要隔离吗
  • 网站开发设计费 怎么入账wordpress liuweili
  • 青少年宫网站开发设计师网站哪个好
  • 制作企业网站需要多少钱wordpress与joomla
  • 关于做网站的总结windows优化大师有必要安装吗
  • 网站开发vs平台的功能微信商城网站哪家做的好
  • 幕墙配件在那个网站做推广好信息如何优化上百度首页公司
  • 最新网站开发建设教材重庆seo公司
  • 夏门建设局网站自己能不能做个网站
  • wordpress 类似微博东莞seo网站排名优化
  • 苏州网站建设凡科有了域名后怎么完成网站建设