上传到存储服务器时文件格式更改

时间:2018-02-14 15:23:16

标签: javascript html amazon-s3 ecmascript-6 ovh

我假设当我使用ovh对象存储('类似'到AWS s3,但基于openstack swift)我可以上传jpg图像,然后(因为我的容器是'公共')我可以从html喜欢:

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

每个人都会很开心。然而,当我将文件上传到我的ovh容器时,我可以通过地平线终端看到它并且它具有正确的名称并且具有与myTestImage.jpg相同的文件大小,但是img-element引用不能正常工作。此外,当我从ovh容器下载myTestImage.jpg到我的本地磁盘时,我无法打开它,因为它似乎不是一个有效的jpg。发生了什么事?

到目前为止,我的想法是myTestImage.jpg实际上不是jpg而是应用程序/ x-www-form-urlencoded文件......,但我该如何处理?

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

这些是对象的细节(这里'myTestImage.jpg'被称为'myfile.jpg'):enter image description here

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

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(所以可能在服务器上进行了压缩?!)。当我尝试打开它时,我收到此消息(抱歉,它有不同的名称,但处理方式相同): enter image description here

1 个答案:

答案 0 :(得分:1)

你试过

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

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