上传到存储服务器时文件格式发生变化

file format changes when uploading to storage server

我假设当我使用 ovh 对象存储('similar' 到 AWS s3,但基于 openstack swift)我可以上传一个 jpg 图像,然后(因为我的容器是 'public') 我可以从 html 引用它,例如:

<img src="'https:pathtomycontainer/myTestImage.jpg'"> 

每个人都会很高兴。但是,当我将文件上传到我的 ovh 容器时,我可以通过 horizo​​n 终端看到它并且它具有正确的名称并且具有与 myTestImage.jpg 相同的文件大小,但是 img-element 引用不起作用,因为它 [=31] =].此外,当我从 ovh 容器下载 myTestImage.jpg 到我的本地磁盘时,我无法打开它,因为它似乎不是有效的 jpg。怎么回事?

到目前为止,我的想法是 myTestImage.jpg 实际上不是 jpg,而是 application/x-www-form-urlencoded 文件...,但我该如何继续?

我的问题是:如何将 myTestImage.jpg 放入存储中并从(最好是 img-)html 元素轻松引用它?

这些是对象的详细信息(这里'myTestImage.jpg'被称为'myfile.jpg'):

我使用 this uploader 上传了文件,但在执行此 curl 时得到了类似的结果:

curl -X PUT --data @./222.jpg -H "X-Auth-Token: mysecretovhtoken" https://storage.gra1.cloud.ovh.net/v1/AUTH_myserviceID/containername/myfile.jpg 

编辑:实际文件为 4.9Mb。当我用 curl 上传时,它变成 1.8Mb(再次下载时它保持 1.8Mb)。使用 QUploader 时,它显示大小为 4.66Mb,但当我下载文件时,它变成了 4.9Mb(所以可能是在服务器上 gzip 压缩了?!)。当我尝试打开它时,我收到此消息(抱歉,它的名称不同,但处理方式相同):

你试过了吗

curl --file-upload ./222.jpg -H "X-Auth-Token: mysecretovhtoken" https://storage.gra1.cloud.ovh.net/v1/AUTH_myserviceID/containername/myfile.jpg

然后您可以检查上述 curl 请求与您的上传程序之间的区别...