gpt4 book ai didi

javascript - 使用 javascript 中的表单发布将字符串作为文件上传

转载 作者:行者123 更新时间:2023-11-28 09:49:23 26 4
gpt4 key购买 nike

我想在不使用文件输入的情况下伪造文件上传。文件的内容是从字符串生成的。即我想将一些字符串发布到内容类型为“multipart/form-data”的服务器。

但是服务器具有不同的域并且不支持CORS,因此我无法使用XMLHttpRequest。是否可以仅使用普通形式的帖子来做到这一点?

最佳答案

这实际上是一个很好的问题。以我的拙见,由于以下列出的各种原因,您正在寻找的东西是不可能的:

  • 您当然可以拥有这样的 HTML 表单:

    <form ....>
    <input id="blah" type="input" name="nameblah" ..>
    ...
    </form>

    但正如您所知,您确实无法访问/修改所选文件的“内容”。立即的解决方案是使用隐藏字段作为替代方案并设置 enctype=multipart/form-data,但对于隐藏字段,浏览器将不会设置正确的 Content-Disposition header 。

  • 您可以进行 AJAX 调用,在其中手动构建整个请求正文,但这将是跨域调用,正如您已经注意到的那样。应用通常的绕过技术。

解决方案是让提供 HTML 的服务器为您满足 skydrive 请求。在这种情况下,您将使用 HTML 表单或 JavaScript 上传文件。然后该文件将被“转发”到 skydrive 服务器。

如果您尝试通过 Javascript,请确保正确获取 multipart/form-data 格式。这是RFC

关于javascript - 使用 javascript 中的表单发布将字符串作为文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11282307/

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