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

江苏泰州建设局网站旧域名新网站

江苏泰州建设局网站,旧域名新网站,wordpress 随机展示,网站开发制作公司go语言实现文件夹上传前后端代码案例 前端用于上传的测试界面 如果上传的文件夹有子文件要遍历子文件夹创建出子文件夹再进行拷贝需要获取文件名和对应的路径#xff0c;将文件的相对路径和文件对象添加到FormData中这几行代码很关键 for (let i 0; i files.length; i…go语言实现文件夹上传前后端代码案例 前端用于上传的测试界面 如果上传的文件夹有子文件要遍历子文件夹创建出子文件夹再进行拷贝需要获取文件名和对应的路径将文件的相对路径和文件对象添加到FormData中这几行代码很关键 for (let i 0; i files.length; i) {formData.append(model_folder, files[i], files[i].webkitRelativePath);}前端代码 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleUpload Folder Example/title /head body input typefile idfolderInput webkitdirectory mozdirectory directory multiple button onclickuploadFolder()Upload/buttonscriptfunction uploadFolder() {let input document.getElementById(folderInput);// 确保用户选择了一个文件夹if (!input.files || !input.files.length) {return alert(Please select a folder to upload.);}let files input.files;let formData new FormData();// 将文件的相对路径和文件对象添加到FormData中for (let i 0; i files.length; i) {formData.append(model_folder, files[i], files[i].webkitRelativePath);}// 创建一个 XMLHttpRequest 对象进行异步请求let request new XMLHttpRequest();request.open(POST, http://localhost:8089/digitalPerson/modeFile, true);request.onload function() {if (request.status 200) {// 文件上传成功的处理console.log(request.responseText);} else {// 文件上传失败的处理console.error(request.responseText);}};// 发送FormData对象到服务器request.send(formData);} /script /body /html 后端使用gin实现文件夹的上传和保存到对应的路径 package controllersimport (PsycheEpic/src/utilserrorsfmtgithub.com/gin-gonic/ginnet/httpospath/filepathstrings )// 处理文件夹上传 func UploadFolderHandler(c *gin.Context, digitalId int64) error {err : c.Request.ParseMultipartForm(0) // 不限制上传文件大小if err ! nil {c.JSON(http.StatusOK, gin.H{code: 0,message: err.Error(),})return errors.New(获取上传的文件失败)}//digitalId : 3// 数字人ID转换为字符串digital_Id : utils.Strval(digitalId)modePath : filepath.Join(./static/HuaSoul/asset/, digital_Id)fmt.Println(digitalId: , digitalId)// 检查上传的文件是否存在form, err : c.MultipartForm()files : form.File[model_folder] // files 是前端 JavaScript 中指定的字段名if err ! nil {c.JSON(http.StatusOK, gin.H{code: 0,message: missing uploaded file})return errors.New(丢失上传的文件)}// 创建模型文件夹if err : os.MkdirAll(modePath, 0755); err ! nil {c.JSON(http.StatusOK, gin.H{code: 0,message: failed to create model folder,})return errors.New(failed to create model folder)}// 遍历上传的文件for _, file : range files {fileName : file.Header[Content-Disposition]path, _ : GetFileName(fileName)fmt.Println(path: , path)savePath : filepath.Join(modePath, path) // 保存文件的路径确保uploads文件夹已存在或自动创建if err : c.SaveUploadedFile(file, savePath); err ! nil {c.String(http.StatusOK, fmt.Sprintf(%s could not be saved: %v, file.Filename, err))return err}}// 上传成功后返回响应//c.String(http.StatusOK, fmt.Sprintf(%d files uploaded!, len(files)))return nil }//fileName [form-data; namemodel_folder; filenametest/头像.jpg] 取出文件名 func GetFileName(fileName []string) (string, error) {for _, f : range fileName {// 判断字符串是否包含了需要查找的文件名关键字if strings.Contains(f, filename) {// 按照 filename 分割parts : strings.Split(f, filename)if len(parts) 2 {// 没有找到分隔符跳到下一个元素continue}// 按照 分割以获取实际的文件路径filePathParts : strings.SplitN(parts[1], , 2)// 如果成功找到路径就返回if len(filePathParts) 2 {return filePathParts[0], nil // 返回找到的路径}}}// 如果没有找到返回错误return , fmt.Errorf(no path found) }
http://www.huolong8.cn/news/170172/

相关文章:

  • 深圳建设局官网站首页公司的网站建设公司网站建设
  • 怎么做旅游网站推广丽水市住房和城建建设局网站
  • 青海旭云网站建设长安网站优化公司
  • 自己公司网站自己能做吗网站开发运用到的相关技术
  • 建站之星好不好优化网站标题和描述的方法
  • 灌南县建设局网站wordpress登陆重定向
  • 南通seo网站建设费用手机网站开发哪个好
  • 产品网站开发流程图模板网页文档的默认扩展名为
  • 网站开发毕业任务书深圳做网站公司有哪些公司
  • 网站域名解析错误怎么办奖励网站代码
  • 大兴网站建设公司电话电子商务网站建设方案
  • 图片素材网站排行榜泰安招聘网上市场
  • H5响应式网站示例视频网站的广告能怎么做
  • 上海个人网站备案网站建设公司的成本有哪些内容
  • dw做门户网站旅行社网站设计方案
  • 泰安网站建设怎么样自己做衣服网站
  • 什么软件可以发布做网站seo设置是什么
  • 软件科技公司网站模板揭阳专业网站制作公司
  • 建设网站cms快云助手网站建设视频
  • 青岛商家都上什么网站网站程序包括数据库和网页程序
  • 信息网站开发网络公司外贸一站式推广服务
  • 前端用什么框架做网站做企业网站哪家公司专业
  • 律师事务所网站建设wordpress登录开发
  • 学做美食视频网站网站建设百度
  • 视觉比较好看的网站专业建设网站的
  • 影院网站如何做新康家园网站建设
  • 平面设计与网站开发的概述wordpress素材库无法显示
  • 网站文字编辑怎么做成都公司网站seo
  • 该去哪里购买网站域名和空间网站只做1单生意被罚4万两级违法
  • 学校的二级网站怎么建设html5网页制作课程