前端上传大型文件或超长数据的解决办法

前端上传大型文件或超长数据的解决办法,第1张

我们设计的上传文件大约在500m左右

我第一反应是blob,在HTML5中添加了blob类型用来定义前端较大数据,之前使用过blob流传输视频再使用html5中<video>标签读取blob流,所以blob可以作为这种文件传输的载体,那如何提交呢,使用可formdata提交blob数据,这种方式可以承受较大数据量的文件,但在使用formdata传输的过程中,浏览器会卡死,无法 *** 作。

还是舍友提醒,可采用数据分割的方式,一部分一部分上传。后经百度得知,文件分割要防止数据丢失进行大小校验,以及防止外部入侵,进行分段前端加密,后端校验。

百度发布了一款分割上传的组件web upload,可包含文件分割,大小校验等功能。

网站为: http://fex.baidu.com/webuploader/getting-started.html

佩服我们大学宿舍的技术氛围,出差回来的火车上跟大学舍友在微信上聊了两三个小时的技术,,,那天刚好是大学生开学那几天,路上好多大学生,好怀念自己的大学生活,好怀念与大学舍友谈天说地或技术探讨到深夜的日子

说了几个前端的问题,总结记录一下吧

其中只有一个我会的,,,先说这个问题,其他的我学习完再分享,留坑。。。。。。

1、用户上传文档后,把文档存储到某个路径下,然后在数据库中存储这个路径和文档名

2、用户上传文档后,进行二进制读取(流处理),然后把读取出来的二进制存储到数据库中

首先我们要进行读取文件

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!")

然后把 $myfile 存储到mysql中

sql ="insert into table_name (fn) values($myfile)""

这样就把文档转变成二进制之后,存储到了mysql数据库,下次取出时,只需要把取出的数据存储到一个文档中

Microsoft Azure Portal没有提供可以直接把文件上传到Azure Blob的界面,你可以使用Azure API编写程序完成文件上载。更简单的方法,则是下载使用Azure Powershell SDK 提供的命令工具Set-AzureStorageBlogContent。可惜地市MSDN上并未给出详细的使用介绍,下面是一个我用过的例子 :

New-AzureStorageContext -StorageAccountName <mystorageaccount>-StorageAccountKey <mystoragekey> `

| Set-AzureStorageBlobContent -Container <mycontainer>-File d:\myfile.zip -Force

比Powershell命令更简单的方法,就是下载Windows Azure Storage Explorer 工具,它提供了上传文件的功能。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11491398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存