我使用dropzone.js将文件上传到Web API 2服务。读取多部分流会出现乱码的俄语字符。例如,当我上传名为Русскоеназвание的文件时 - 俄语字符会给出????? ?????? - 俄罗斯人物。
我确信dropzone.js工作正常,这只是一个Web API问题。
这是GetStream方法。
public override Stream GetStream(HttpContent parent, HttpContentHeaders headers)
{
// For form data, Content-Disposition header is a requirement
ContentDispositionHeaderValue contentDisposition = headers.ContentDisposition;
if (contentDisposition != null)
{
// We will post process this as form data
_isFormData.Add(String.IsNullOrEmpty(contentDisposition.FileName));
return new MemoryStream();
}
// If no Content-Disposition header was present.
throw new InvalidOperationException(
string.Format("Did not find required '{0}' header field in MIME multipart body part..",
"Content-Disposition"));
}
答案 0 :(得分:0)
这可能是js方面的错误编码。正如你发布的而不是“Русскоеназвание - 俄文字符”你得到“????? ?????? - 俄文字符”,这意味着该文件是由英文字符支持但没有俄文字符。尝试将编码更改为支持cyrylic字符的编码。 这可能会有所帮助:http://en.wikipedia.org/wiki/Character_encoding。