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

标签 javascript html amazon-s3 ecmascript-6 ovh

我认为当我使用 ovh 对象存储(“类似于”AWS s3,但基于 openstack swift)时,我可以上传 jpg 图像,然后(因为我的容器是“公共(public)”)我可以从html 类似:

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

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

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

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

这些是对象的详细信息(此处“myTestImage.jpg”称为“myfile.jpg”):enter image description here

我用 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 压缩?!)。当我尝试打开它时,我收到此消息(抱歉,它有不同的名称,但处理是相同的): enter image description here

最佳答案

你试过吗

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

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

关于javascript - 上传到存储服务器时文件格式发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48790624/

相关文章:

amazon-s3 - 如何将多个域映射到 Amazon S3 上的同一个存储桶?

amazon-s3 - Redshift Unload with Grant 或 Canned ACL

javascript - 设计一个javascript模块,这个引用

javascript - 当变量和函数同名时,引用是什么?

amazon-web-services - aws s3 cp 返回调用 HeadObject 操作时发生错误 (403) : Forbidden

javascript - 动态生成的等宽选项卡项

html - 如何删除表格左上角单元格的边框并更改背景颜色?

javascript - Jquery 可使用自己的元素进行排序和删除

javascript - 更改 @Input 组件对象不会反射(reflect)在父组件中

html - 使引导轮播背景透明