微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FilePond重试忽略上传偏移量

如何解决FilePond重试忽略上传偏移量

我正在使用filepond来处理Nuxt前端和Express-Backend之间的上传。 如果没有错误发生,一切正常。但是,如果我在某些Patch-Request之后手动触发错误,然后使用Retry-Button Filepond开始从新开始而不是从失败的地方重新上传文件

文档指出以下内容

如果在chunkRetryDelays中设置了重试次数后,其中一个块未能上传,则用户可以选择重试上载。

当FilePond记住以前的传输ID时,该过程现在从HEAD请求开始,并伴随URL中的传输ID(12345)。

服务器将上载偏移设置为下一个预期的块偏移(以字节为单位)作为响应。

FilePond将所有具有较低偏移量的块标记为已完成,然后继续以请求的偏移量上传块。

enter image description here

正如您在图片中所看到的,失败发生后,我在响应的标题中设置了Upload-Offset。但是Filepond似乎忽略了该偏移量,并重新开始,如您在下一张图片中看到的。

enter image description here

理论上,Filepond应该识别偏移量并从指定的偏移量开始发送块。

当前在前端文件池中是通过以下方式设置的:

 <template>
  <v-layout>
    <v-flex class="text-center">
       <file-pond
        name="file"
        ref="pond"
        chunkUploads="true"
        chunkSize="500000"
        class-name="my-pond"
        label-idle="Drop files here..."
        allow-multiple="true"
        v-bind:files="myFiles"
        :server="server"
        v-on:init="handleFilePondInit"
        v-on:error="error"/>
    </v-flex>
  </v-layout>
</template>

<script>
// Import FilePond
import vueFilePond from 'vue-filepond';


// Import styles
import 'filepond/dist/filepond.min.css';

// Create FilePond component
const FilePond = vueFilePond();

import axios from "~/plugins/axios";

export default {
  components: {
    FilePond,},data: () => ({
    server: {
      url: "http://localhost:3001/api/filepond/",process: "process",patch: "patch?id="
    },myFiles: [],}),methods: {
    handleFilePondInit: function() {
            console.log('FilePond has initialized');

            // example of instance method call on pond reference
            this.$refs.pond.getFiles();
    },error: (err) => {
        console.log(err);
    }
  }
};
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。