【问题标题】:Multiple file upload blueimp “sequentialUploads = true” not working多个文件上传 blueimp “sequentialUploads = true” 不起作用
【发布时间】:2013-05-15 12:51:29
【问题描述】:

我必须在数据库中存储多个文件。为了做到这一点,我使用了 blueimp 编写的 jQuery Multiple File Uplaod 控件。对于服务器语言,我使用 asp.net。它使用一个处理程序——ashx,它接受每个特定文件并将其存储在数据库中。 在我的数据库中,我有一个存储过程,它返回当前上传文件的文档 ID,然后将其存储到数据库中。 这是其中的一个代码片段,它表明获取此 ID 是一个 3 步过程:

SELECT TOP 1 @docIdOut = tblFile.docId -- ,@creator=creator,@created=created FROM [tblFile] WHERE 友好名称 LIKE @friendlyname AND @categoryId = categoryId AND @objectId = objectId AND @objectTypeId = objectTypeId ORDER BY tblFile.version DESC

  IF @docIdOut = 0        BEGIN --get the next docId          SELECT TOP 1

@docIdOut = docId + 1 FROM [tblFile] ORDER BY docId DESC END

  IF @docIdOut = 0        BEGIN --set to 1            SET @docIdOut = 1       END

如果对该存储过程执行了多次调用,则会由于数据不一致而出现问题,但如果我添加事务,则某些文件的上传将被取消。

https://dl.dropboxusercontent.com/u/13878369/2013-05-20_1731.png

当执行被事务阻塞时,有没有办法用相同的参数再次调用存储过程?

另一个选项是使用 blueimp 插件与选项“sequentialUploads = true”同步使用 此选项适用于除 firefox 之外的所有浏览器,而且我了解到它不适用于 Safari。

任何建议都会有所帮助。我尝试启用一次只选择一个文件的选项,这不是最好的,但会停止数据库问题(存储过程)并正确保存文件。

谢谢, 最好的祝福, 柳博米尔

【问题讨论】:

    标签: file asynchronous upload blueimp


    【解决方案1】:

    在 main.js 中设置 singleFileUploads: true、sequentialUploads: false。

    singleFileUploads: true 表示选择的每个文件都是使用 XHR 类型上传的单独请求上传的。然后您可以获取单个文件的信息并使用您刚刚获得的信息调用存储过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多