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

网站定时数据切换怎么做的互联网创业就是做网站吗

网站定时数据切换怎么做的,互联网创业就是做网站吗,手机应用市场下载,创建微信公众号的流程先获取文件大小#xff0c;然后将文件切片传输给前端#xff0c;前端再按顺序组合所有切片。 vue /** 下载数据 */handleDownloadInstance(id, instanceName) {if (this.downloadProgressisVisible) {this.$showError(已经有文件在下载!)return}this.$showInfo(开始下载!)ge…先获取文件大小然后将文件切片传输给前端前端再按顺序组合所有切片。 vue /** 下载数据 */handleDownloadInstance(id, instanceName) {if (this.downloadProgressisVisible) {this.$showError(已经有文件在下载!)return}this.$showInfo(开始下载!)getFileSize(id).then((response) {this.downloadProgressisVisible trueconst fileSize response.sizethis.fileSize fileSizethis.downloadPercentage 0this.currentSize 0console.log(response)// 计算分片数和每片大小const chunkSize 10 * 1024 * 1024 // 10 MBconst totalChunks Math.ceil(fileSize / chunkSize)// 保存所有分片的数据const allChunks new Array(totalChunks)const self thislet num 0// 下载所有分片function downloadChunks() {for (let i 0; i totalChunks; i) {const data {start: i * chunkSize,end: (i 1) * chunkSize - 1}downloadInstanceChunk(id, data).then(response {return response}).then(chunkBlob {// 保存分片数据allChunks[i] chunkBlobnum 1// console.log(下载完成, i)// 检查是否所有分片都下载完成if (num totalChunks) {mergeChunks()self.$showSuccess(下载成功)self.downloadProgressisVisible false}self.downloadPercentage Math.floor((num) / totalChunks * 100)self.currentSize num * chunkSize}).catch(error {console.error(Error:, error)self.downloadProgressisVisible falseself.$showError(下载文件失败: error.data.message)})}}// 合并所有分片function mergeChunks() {// 创建一个 Blob 对象包含所有分片数据const mergedBlob new Blob(allChunks, { type: application/zip })// 创建下载链接并模拟点击const downloadLink document.createElement(a)downloadLink.href URL.createObjectURL(mergedBlob)const fileName ${instanceName}.zipdownloadLink.download fileNamedownloadLink.click()}// 调用下载分片函数downloadChunks()}).catch(err {console.log(err)this.$showError(下载文件失败: err.data.message)this.downloadProgressisVisible false})}, go func (handler *Handler) getFileSize(w http.ResponseWriter, r *http.Request) *httperror.HandlerError {instanceID, err : request.RetrieveNumericRouteVariableValue(r, id)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusBadRequest, Message: Invalid instance identifier route variable, Err: err}}instance, err : handler.DataStore.Instance().Instance(uint(instanceID))if err bolterrors.ErrObjectNotFound {return httperror.HandlerError{StatusCode: http.StatusNotFound, Message: Unable to find a instance with the specified identifier inside the database, Err: err}} else if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: Unable to find a instance with the specified identifier inside the database, Err: err}}// timeStr : instance.ReportTime.Format(2006-01-02 15:04:05)// timeStr strings.Replace(timeStr, :, -, -1)// timeStr strings.Replace(timeStr, , -, -1)dirPath : instance.TempPathzipPath : instance.InstanceName .zipzipPath /home/1.zipdirPath /home/if !utils.DirExists(dirPath) {return httperror.HandlerError{StatusCode: http.StatusNotFound, Message: 文件不存在, Err: fmt.Errorf(文件不存在)}}_, err os.Stat(zipPath)if err ! nil {err utils.ZipDir(dirPath, zipPath, []string{.pcap})if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: 压缩文件失败, Err: fmt.Errorf(压缩文件失败)}}}fileInfo, err : os.Stat(zipPath)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: os.Stat 失败, Err: err}}return response.JSON(w, map[string]int64{size: fileInfo.Size(),}) }func (handler *Handler) downloadInstanceChunk(w http.ResponseWriter, r *http.Request) *httperror.HandlerError {instanceID, err : request.RetrieveNumericRouteVariableValue(r, id)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusBadRequest, Message: Invalid instance identifier route variable, Err: err}}start, err : request.RetrieveNumericRouteVariableValue(r, start)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusBadRequest, Message: Invalid instance identifier route variable, Err: err}}end, err : request.RetrieveNumericRouteVariableValue(r, end)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusBadRequest, Message: Invalid instance identifier route variable, Err: err}}instance, err : handler.DataStore.Instance().Instance(uint(instanceID))if err bolterrors.ErrObjectNotFound {return httperror.HandlerError{StatusCode: http.StatusNotFound, Message: Unable to find a instance with the specified identifier inside the database, Err: err}} else if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: Unable to find a instance with the specified identifier inside the database, Err: err}}// timeStr : instance.ReportTime.Format(2006-01-02 15:04:05)// timeStr strings.Replace(timeStr, :, -, -1)// timeStr strings.Replace(timeStr, , -, -1)dirPath : instance.TempPathzipPath : instance.InstanceName .zipzipPath /home/1.zipdirPath /home/testif !utils.DirExists(dirPath) {return httperror.HandlerError{StatusCode: http.StatusNotFound, Message: 文件不存在, Err: fmt.Errorf(文件不存在)}}// err utils.ZipDir(dirPath, zipPath, []string{.pcap})if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: 压缩文件失败, Err: fmt.Errorf(压缩文件失败)}}fileInfo, err : os.Stat(zipPath)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: os.Stat 失败, Err: err}}// 计算最后一片的范围if end 0 || int64(end) fileInfo.Size() {end int(fileInfo.Size()) - 1}zipFile, err : os.Open(zipPath)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: 文件无法打开, Err: fmt.Errorf(文件无法打开)}}defer zipFile.Close()w.Header().Set(Content-Type, application/zip)// w.Header().Set(Content-Type, application/octet-stream)// w.Header().Set(Content-Length, strconv.FormatInt(fileInfo.Size(), 10))// 设置响应头部指定传输的范围w.Header().Set(Content-Range, bytes strconv.FormatInt(int64(start), 10)-strconv.FormatInt(int64(end), 10))w.WriteHeader(http.StatusPartialContent)// 将部分内容传输到客户端_, err zipFile.Seek(int64(start), 0)if err ! nil {return httperror.HandlerError{StatusCode: http.StatusInternalServerError, Message: Unable to seek to the specified position, Err: err}}io.CopyN(w, zipFile, int64(end)-int64(start)1)return response.Empty(w) }
http://www.zqtcl.cn/news/565/

相关文章:

  • 网站建设:化工广州专业做网站多少钱
  • 企业如何建设网站呢wordpress发展
  • 浙江省建设执业资格中心网站好用的a站
  • 嘉定郑州阳网站建设网站开发建设工资多少
  • 网站程序源代码ps做电商网站尺寸是多少
  • 建设银行朝阳支行网站文字设计成图形logo
  • 我想帮别人做网站有这样的平台吗网站原型图展示
  • 一个简单的个人网站网站乱码解决办法
  • 自助建立网站网站快慢由什么决定
  • 百度网站是什么尚层装饰
  • 怎么免费从网站上做宣传房屋装修网站模板
  • 三亚网站推广团队哪有做网站 的
  • 做oa好 还是做网站好广州谷歌seo
  • 广州建筑集团网站怎么做旅游网站框架
  • 西安正规网站建设报价建立收费网站
  • html5响应式网站制作网页设计怎么加入图片
  • 做ppt模板的网站有哪些东营住房和城乡建设信息网
  • 大连企业网站深圳网站建设培训哪家好
  • 区网站开发语言小米的网站建设的要点
  • 怎么在欧美做网站推广网站登录密码忘记了
  • 温州做网站的公司有哪些微信公众号网站自己做导航条
  • 网站空间 php程序住建部证书查询大厅
  • 给别人做网站在那里接单同城招聘网站自助建站
  • linux服务器WordPress建站教程杭州哪家公司可以做网站
  • 电子商务网站建设与维护总结wordpress阿里云oss插件
  • 企业官网模板站源码之家 网站模板
  • 网站做任务 炸金花Wordpress host
  • 地图销售网站jquery 打开新网站
  • 天津网站建设优选企业专业网站建设公司郑州
  • 3d打印 东莞网站建设网站做百度推广能获取流量吗