gpt4 book ai didi

php - 使用 rackspace 表单发布的内容类型不正确

转载 作者:行者123 更新时间:2023-12-04 17:11:52 26 4
gpt4 key购买 nike

我正在使用表单发布方法将一些文件发布到我在机架空间上的一个容器中。问题是,如果我先上传 pdf,然后一次性上传 png,它会尝试在 pdf 查看器中打开 png。检查后我才知道 png 的“Content-type”设置为“application/pdf”。

我的表格是这样的

<form id="form" accept-charset="utf-8" action="action" method="POST" enctype="multipart/form-data" novalidate="novalidate">
<input type="hidden" name="redirect" value="rediredt url">
<input type="hidden" value="" name="max_file_size">
<input type="hidden" value="" name="max_file_count">
<input type="hidden" value="" name="expires" id="rack_expire">
<input type="hidden" value="" name="signature" id="rack_signature">

<div class="contentRow fileUploadWrap">
<p><input id="file2" type="file" name="file_1"></p>
<p><input id="file2" type="file" name="file_2"></p>
<p><input id="file3" type="file" name="file_3"></p>
<p><input id="file4" type="file" name="file_4"></p>
<p><input id="file5" type="file" name="file_5"></p>
<div class="contentRow">
<div class="submit"><input id="uploadFilesBtn" class="btn btn--primary" type="submit" value="Upload"></div> </div>
</div>

</form>

我找不到为正在上传的文件设置内容类型的方法。有什么办法可以解决这个问题。

最佳答案

使用 append 而不是 input 并像这样指定文件名

formData.append('userfile[]', myFileInput.files[0], 'doc1.pdf');
formData.append('userfile[]', myFileInput.files[1], 'image1.png');

浏览器会识别文件类型(content-type)并相应地打开文件,结果可能因浏览器不同而不同,但对于常见的文件格式,您可以依赖它。

FormData Documentation 中所述

If you specify a Blob as the data to append to the FormData object, the filename that will be reported to the server in the "Content-Disposition" header used to vary from browser to browser.

关于php - 使用 rackspace 表单发布的内容类型不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69273469/

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