- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的上传图片操作创建集成测试。从浏览器创建的原始请求如下;
POST /api/UpdateImage HTTP/1.1
Host: upload.qwe.com
Authorization: bearer KuThe6Wx/CW1TO/HVS+u3Tov3MRh8qTMDrSvQ09nMnP4OgYp
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=Boundary-D60385FA-C164-45B0-A81E-0F6488F8E1E1
Content-Length: 375488
Accept-Language: en-us
Accept: */*
Connection: keep-alive
User-Agent: Chrome
Pragma: no-cache
Cache-Control: no-cache
--Boundary-D60385FA-C164-45B0-A81E-0F6488F8E1E1
Content-Disposition: form-data; name="fileName"
image.jpg
--Boundary-D60385FA-C164-45B0-A81E-0F6488F8E1E1
Content-Disposition: form-data; name="fileUpload"; filename="image.jpg"
Content-Type: image/jpeg
还有我的集成测试代码;
MultipartContent multipartContent = new MultipartContent();
multipartContent.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=Boundary-D60385FA-C164-45B0-A81E-0F6488F8E1E1");
ContentDispositionHeaderValue contentDispositionHeaderValue = new ContentDispositionHeaderValue("form-data")
{
Name = "fileName"
};
multipartContent.Headers.ContentDisposition = contentDispositionHeaderValue;
// StreamContent
FileStream fileStream = File.Open(@"./Assets/" + fileName, FileMode.Open);
StreamContent stream = new StreamContent(fileStream);
multipartContent.Add(stream);
httpRequestMessage.Content = multipartContent;
return httpRequestMessage;
但是我无法设置具有 Content-Disposition: form-data; 的数据的第二部分名称=“文件上传”; filename="image.jpg"
我怎样才能做到这一点?
问题总结:
最佳答案
修改子HttpContent
的Headers,不在MultipartFormDataContent
var main = new MultipartFormDataContent(Guid.NewGuid().ToString());
HttpContent content = new StringContent("image.jpg");
content.Headers.Clear();
content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") { Name = "fileName" };
main.Add(content);
content = new StreamContent(new MemoryStream(new byte[] { 1, 2, 3 }));//your file stream, or other base64 string
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg");
content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") { Name = "fileUpload", FileName="image.jpg" };
main.Add(content);
req.Content = main;
关于c# - 在 Web API 中设置 "Content-Disposition"HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044607/
我在尝试在 IE8 中下载带有分号的文件名时遇到问题。 Response.AddHeader("Content-Disposition", "attachment; filename=\"" + at
我正在尝试将多个文件附加到电子邮件中。 除了文本文件缺少第一行之外,它工作正常。 注意:为了可读性,删除了所有错误处理。此外,假设正确设置了收件人/发件人/主题等(电子邮件发送完美 - 除了附件问题)
我正在努力使用 java spring 创建对某些内部服务的有效请求。问题在于多部分/表单数据边界的正确负载。 环境:java 服务器 -> (其余)http multipart/form-data
我可以通过添加以下内容来设置请求 header 以公开 Content-Disposition: “访问控制公开 header ”:“内容处置” 我可以看到响应,但响应对象不包括 Content-Di
我对附件名称有疑问。当我在 google chrome 上调用该站点时,它会返回具有正确名称和扩展名的文件。我用 Internet Explorer 对其进行了测试,它也可以正常工作。问题仅在于 Fi
我在htaccess文件中有了以下规则,以强制链接文件下载而不是在浏览器中打开: ForceType application/octet-stream Header set Content-
我正在构建一个网站,该网站通过 javascript 与接受发布的 json 请求的网络服务进行通信。我使用 XMLHttpRequest 发布这些请求。在某些情况下,服务会返回下载响应: 例子: C
我有一些文件,我希望人们能够根据需要在浏览器中下载或查看这些文件。我不知道如何简单地做到这一点,在主机中设置 header 或做一些 javascript 魔术。 最终结果应该是一个 html 页面,
我正在尝试将图片文件从我的 Android 应用程序上传到我的 JavaEE REST 服务,该服务已部署到 JBoss Wildfly 9 服务器。 我对 Content-Disposition 的
除了从未设置内容配置 header 和下载的文件名称不正确之外,以下代码运行良好。 我搜索了 Java API,但找不到设置 header 的方法。我试图在应用函数中设置它,但此时响应对象为空。我尝试
我一直在尝试下载带有中文文件名的附件,但不知何故它们的编码在下载时发生了变化,并且在有中文字符的地方保存了一些乱码文件名。 技术:Java服务器:Apache Tomcat 这是我已经尝试过的 res
我很难找到一个问题的解决方案,我认为这个问题很常见或很容易解决,但显然我错了。 我必须重新编写一些导致问题的网络代码(不是我写的)。当用户单击链接时,请求会发送到 Web 服务器,而 Web 服务器又
我正在将文件名传递给下载页面。 即 somefile.xls 下载页面将完整的目录路径添加回文件名。 即 c:\temp\somefile.xls 问题是现在设置 header 的“Content-D
我正在使用 curl -w "%%{filename_effective}" "http://example.com/file.jpg" -L -J -O -s 从下载地址打印服务器强加的文件名,但它
我正在尝试下载 Struts Action 类中的 PDF 文件。问题是使用 response.setHeader("Content-Disposition", "attachment;filenam
我有一个 php add,它调用 LaTeX,然后将 PDF 传递给浏览器。由于我的用户将为此服务付费,我想确保他们可以选择保存 PDF,而不是一次又一次地访问我的服务器。 exec("cd tex
如何使用 WebClient 获取从 WebAPI Controller 返回的 Content-Disposition 参数? WebAPI Controller [Route("api/m
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
几天来我一直在寻找这个问题的解决方案,但找不到。 我想使用网络客户端从网络服务器下载文件。下载工作正常,但我无法获得真实的文件名,这对我来说非常重要。 我在很多主页上看到,文件名应该保存在 Conte
我想强制浏览器下载一个 pdf 文件。 我正在使用以下代码: Click here to Download quotation 它使浏览器在新窗口中打开 pdf,但我希望在用户单击它时将其下载到硬盘。
我是一名优秀的程序员,十分优秀!