gpt4 book ai didi

angularjs - Azure blob put - 图像损坏

转载 作者:行者123 更新时间:2023-12-03 00:14:08 25 4
gpt4 key购买 nike

我正在尝试使用 azure 存储 blob 来在其上放置一个项目。它适用于 PDF、MP3,但是当我上传 IMAGE 文件(或 TXT 文件)时,文件已更改。

当我下载 pdf 或 mp3 时,该文件是可读的。但对于图像,它说它已损坏......然而,TXT 文件是可读的,但内容被 webkitfromboundary

包围

我认为这就是图像不起作用的原因......

示例:

仅包含 hello word 的 TXT 文件 ->

------WebKitFormBoundary3rxc8zHbnz4expeP
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

hello word
------WebKitFormBoundary3rxc8zHbnz4expeP--

所以我想这就是图像不起作用的原因

<小时/>

这是我上传的内容(来自 angularJS) --- 我使用 https://github.com/danialfarid/ng-file-upload

Upload.upload
url: url
method: 'PUT'
headers: head
file: file
.success (data, status, headers, config) ->
console.log("SUCCES!!!")

head 的值 - (对于文本文件)

{"x-ms-version":"2014-02-14","x-ms-blob-type":"BlockBlob","x-ms-date":"2015-11-06 10:02:24 GMT","Authorization":"SharedKey generate_key","Content-Type":"text/plain"}

当然,当这是图像时,内容类型会发生变化(它需要 file.type )

<小时/>

如果有帮助,这是网络页面的请求 header ->

Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:fr,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:214
Content-Type:application/json;charset=utf-8
Host:myaccount.blob.core.windows.net
Origin:http://localhost:9000
Referer:http://localhost:9000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36

请求负载 ->

------WebKitFormBoundary3rxc8zHbnz4expeP
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain


------WebKitFormBoundary3rxc8zHbnz4expeP--
<小时/>

那么,有人有想法吗?

最佳答案

答案是 http 请求中发送的 Content-Type 从来都不是好的类型。

因为

Upload.upload

不允许您更改它。

但是您可以使用同一库的 http 方法,它的工作原理如下:

  Upload.http
url: uploadInfo.url
method: 'PUT'
headers: {
"Content-Type": file.type
[other headers ...]
}
data: file

就这样吧!它有效!

关于angularjs - Azure blob put - 图像损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com