首页 >

用QQ传送文件如果关了窗口 – 数据库 – 前端|

php整站怎么安装,乐安全显示拦截要怎么改,怎么设置扫描成图片格式用QQ传送文件如果关了窗口 - 数据库 - 前端|用QQ传送文件如果关了窗口

先说结论:QQ 传文件时,如果文件被占用,那么会失败,这是出于文件传送中如果被修改会出现严重错误的考虑(如果有别的程序打开了这个文件,这个程序只是读取文件内容,那可以发送,如果这个程序在发送过程中有可能修改这个文件,那不行,比如 Word 打开了一个文件,那这个文件随时可能被 Word 修改),而浏览器里面用邮箱发送文件,因为邮箱不像 QQ 是本地程序,它是 Web 脚本/语言,没有能力控制这其中的权限,所以做不到这一点,也就不需要关闭文件。

大家来做一个简单的打开文件测试。

HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );测试涉及到的变量参数只有第二个 dwDesiredAccess (读写模式) 和第三个 dwShareMode (共享模式)。

CreateFile ("justAnotherTestFile.exe", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, NULL, NULL); 这句代码是以只读模式打开文件,然后共享所有权限(读、写、删)。

偶自己的这个程序只读取这个文件的内容,在此过程中,其它程序可以对这个文件进行读取、修改、删除等任意操作。

打开后测试结果:发送文件给好友:成功上传到群文件:失败浏览器上传:成功CreateFile ("justAnotherTestFile.exe", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, NULL, NULL)

;偶自己的这个程序可以读取这个文件的内容,也可以修改这个文件的内容,在此过程中,其它程序可以对这个文件进行读取、修改、删除等任意操作。

打开后测试结果:发送文件给好友:失败上传到群文件:失败浏览器上传:成功CreateFile ("justAnotherTestFile.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING, NULL, NULL);偶自己的这个程序只读取这个文件的内容,在此过程中,其它程序不能对这个文件进行读取、修改、删除等任意操作(独占)。

打开后测试结果:发送文件给好友:失败上传到群文件:失败浏览器上传:失败CreateFile ("justAnotherTestFile.exe", 0, 0, NULL, OPEN_EXISTING, NULL, NULL)

;偶不想看文件里面是啥,也不动它,偶就路过。

测试结果:发送文件给好友:成功上传到群文件:成功浏览器上传:成功从测试情况来看,应该是这样的逻辑:

上传文件:只要有人打开了这个文件,就不行,就算他只是想知道文件是什么内容,也不行。

发送文件:有人打开了这个文件,如果你只是看里面的东西,你不改的话,那么 QQ 可以发送,如果你打开的程序还有可以修改这个文件的权限(比如 Word),那就不能发送。

浏览器:偶能读取到偶就收了,管你改不改。最优的设定应该是发送文件的这种,因为可以保证发送的文件不被修改。上传群文件的这种…偶觉得只是一个 bug 而已。

浏览器里面邮件发送文件,这个其实是不太保险的,文件如果在上传过程中被修改,就会出错。但浏览器没做这个限制,Web 程序也没这个权限限制这个东西哦。


用QQ传送文件如果关了窗口 - 数据库 - 前端|
  • 常用的软件有哪些 - 数据库 - 前端|
  • 常用的软件有哪些 - 数据库 - 前端| | 常用的软件有哪些 - 数据库 - 前端| ...

    用QQ传送文件如果关了窗口 - 数据库 - 前端|
  • MySQL查询查表中数量,mysql哪些功能excel不能实现 - 数据库 - 前端,navicat mysql 64位
  • MySQL查询查表中数量,mysql哪些功能excel不能实现 - 数据库 - 前端,navicat mysql 64位 | MySQL查询查表中数量,mysql哪些功能excel不能实现 - 数据库 - 前端,navicat mysql 64位 ...

    用QQ传送文件如果关了窗口 - 数据库 - 前端|
  • mysql 空间数据,mysql占多少硬盘 - 数据库 - 前端,service mysql reload
  • mysql 空间数据,mysql占多少硬盘 - 数据库 - 前端,service mysql reload | mysql 空间数据,mysql占多少硬盘 - 数据库 - 前端,service mysql reload ...