HttpClient StreamContent追加文件名两次

 Jaaaaasonnv_116 发布于 2023-02-12 18:05

我正在使用Microsoft Http客户端库从Windows Phone 8向服务器发出多部分请求.它包含具有json字符串的String内容和具有图像流的Stream Content.现在我获得状态OK并请求服务器上的命中.但是日志说服务器无法获取图像的文件名.

content.Add(new StreamContent(photoStream), "files", fileName);

其中photoStream是图像流,"files"是内容的名称,文件名是图像文件的名称.

所以标头值必须是:

Content-Disposition: form-data; name=files; filename=image123.jpg

但实际上它是:

Content-Disposition: form-data; name=files; filename=image123.jpg; filename*=utf-8''image123.jpg

为什么它附加" ; filename*=utf-8''image123.jpg"部分.这是一个问题吗?

请告诉我任何无法从WP8上传图片的原因/可能性.

1 个回答
  • using (var content = new MultipartFormDataContent())
    {
        content.Add(CreateFileContent(imageStream, fileName, "image/jpeg"));
    }
    
    private StreamContent CreateFileContent(Stream stream, string fileName, string contentType)
    {
        var fileContent = new StreamContent(stream);
        fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") 
        { 
            Name = "\"files\"", 
            FileName = "\"" + fileName + "\""
        };
        fileContent.Headers.ContentType = new MediaTypeHeaderValue(contentType);            
        return fileContent;
    }
    

    2023-02-12 18:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有