Как изменить текущие данные чанка во время процесса загрузки с помощью FineUploader

Нам нужно вызвать стороннюю библиотеку, в идеале во время обратного вызова onUploadChunk. Как показано в документации (http://docs.fineuploader.com/branch/master/api/events.html#uploadChunk), у нас могут быть некоторые параметры для идентификации фрагмента и работы с методом фрагмента javascript.

Но вопрос в том, как вернуть обновленный фрагмент в процесс загрузки Fineuploader?

Большое спасибо за помощь.


person choomz    schedule 25.06.2015    source источник


Ответы (1)


Вы не можете изменять фрагменты, созданные Fine Uploader, и не должны этого делать, так как он может изменить размер фрагмента, ожидаемое общее количество фрагментов и потребовать корректировки внутреннего состояния и отправленных параметров. Если вы хотите изменить какие-либо файлы, у вас есть два варианта:

  1. Измените файл перед его отправкой в ​​Fine Uploader.
  2. Измените файл перед началом загрузки файла. Вы можете отменить исходный файл, а затем отправить измененные версии. с помощью метода API addFiles.
person Ray Nicholus    schedule 25.06.2015
comment
Спасибо за ответ. Возможно, вам следует знать, что мы не будем изменять размер чанка, а только заменим несколько байтов в каком-то чанке. С этой новой информацией, есть ли способ сделать это? Или нам нужно изменить ядро? Мы не можем загрузить весь файл в память, чтобы изменить его. - person choomz; 25.06.2015
comment
Не могли бы вы опубликовать код, чтобы показать нам, что вы имеете в виду с точкой № 2? Может быть, это могло бы работать для нас. Большое спасибо. - person choomz; 25.06.2015
comment
Просто получите файл, измените его по своему желанию, отмените оригинал, затем отправьте новый Blob через addFiles. Есть ли здесь что-то конкретное, с чем вы боретесь? - person Ray Nicholus; 25.06.2015
comment
Привет, RayNicholus. Я наткнулся на этот пост, когда пытался посмотреть, решалась ли эта проблема раньше - мой вариант использования - это файлы, которые слишком велики, чтобы поместиться в памяти (многогигабайтные файлы), которые я хочу преобразовать (например, зашифровать ) на лету и передать в виде фрагментов в FineUploader. Я могу рассчитать размер файла после преобразования в начале, но не могу выполнять манипуляции с файлом на диске (только в памяти). Есть ли способ, которым FineUploader может поддерживать этот вариант использования? - person Numbat; 06.01.2016