Mysql 不完整的损坏图像上载blob phpmyadmin

Mysql 不完整的损坏图像上载blob phpmyadmin,mysql,phpmyadmin,blob,Mysql,Phpmyadmin,Blob,我目前正在学习php和mysql。我正在学习一些不同的教程,并尝试在mysql数据库中插入和稍后显示图像。 我不想在数据库中存储指向图像文件的链接 然而,尽管phpmyadmin和sql都没有抛出任何错误,但文件上传并没有按预期工作。无论文件大小如何,它只上载了大约75%的文件,因此产生了损坏的图片 请参阅下面的屏幕截图,以帮助说明问题 在第一张图片上,您看到我选择了图像IMG_1422,并在其旁边选择了允许的最大文件大小 在下图中,您可以看到右侧的实际文件大小(1.8)和插入的文件大小(1.4

我目前正在学习php和mysql。我正在学习一些不同的教程,并尝试在mysql数据库中插入和稍后显示图像。 我不想在数据库中存储指向图像文件的链接

然而,尽管phpmyadmin和sql都没有抛出任何错误,但文件上传并没有按预期工作。无论文件大小如何,它只上载了大约75%的文件,因此产生了损坏的图片

请参阅下面的屏幕截图,以帮助说明问题

在第一张图片上,您看到我选择了图像IMG_1422,并在其旁边选择了允许的最大文件大小

在下图中,您可以看到右侧的实际文件大小(1.8)和插入的文件大小(1.4)

我用来存储图像文件的数据类型是long_blob类型

下面是mysql.conf中未注释掉的部分

innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/data"
#innodb_log_arch_dir = "C:/xampp/mysql/data"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 10M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/xampp/mysql/share/charsets"

[mysqldump]
quick
max_allowed_packet = 32M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

好的,这也不是我问题的确切答案,我找出了问题的一部分,并意识到这个问题过于本地化,因为它可以被回答并帮助其他人

问题在于存储引擎innodb。 在采用配置文件的过程中,避免出现以下错误:

The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size. 
我一定是无意中破坏了inno_db数据库类型的配置文件。 如果我将数据库类型更改为MyISAM,我所有的问题都将成为过去


现在想知道这是否还有其他后果?

如果6个月后你没有好的答案。。。 今天我遇到了同样的问题,我只是在数据库(phpMyAdmin)中更改了类型太长的blob


希望我能在这方面帮助别人

如果使用较小的文件,比如100-200KB大小的文件,它能正常工作吗?对于一些疑难解答,我不会太担心显示的文件大小,因为在计算大小时可能会有差异(1000字节对1024字节的数学,字节对位,等等),而会将重点放在文件上;尝试通过phpMyAdmin查看它,会发生什么?试着下载,然后与原稿进行比较。嗨,伊萨克,谢谢你的回复。没有文件大小没有区别。我还从网上随机下载了几张JPG,只是为了再次确认我的照片没有损坏。如果我在phpmyadmin中查看文件,它的显示也不正确。如果是资源限制或超时,我希望完成较小的文件,因此这有点令人费解。您使用的phpMyAdmin、MySQL和PHP版本是什么?什么网站服务器?Web服务器错误日志中有任何提示吗?我正在使用适用于Windows 10的xampp。刚从网站下载了最新的软件包。ApacheWebServer、PHP5.x和InnoDb数据库。不,Web服务器的错误日志中没有任何内容……我很难找到他们网站上列出的phpMyAdmin版本号,但您应该可以相对容易地在右侧的主页上找到它,它提供了大量服务器信息,底部是标题“phpMyAdmin”,下面是“版本信息”(位于“文档”、“维基”等链接上方)。