【问题标题】:Using a handler to (WriteFile) returns binary? Garbage?使用处理程序 (WriteFile) 返回二进制文件?垃圾?
【发布时间】:2015-05-07 16:05:37
【问题描述】:

我有一个文件的物理路径。

c:\fullpath\filename.jpg

但使用时:

context.Response.WriteFile(fullPath)

我最终得到了类似的东西:

Õ"+*Br¾Ì˜0|-9ÇáæfáU®Ån¿aÙ޽njÞöôþ½òÀ)"™G¦Ù0k6Í\fÃx›Ífz0]­kEþÏÚª‰“Ù{^Æ­ú™‹*òòç (?&:o‘Už%8x8ÜØ#g

在浏览器中.. 当然,还有很多。

我知道这是一个广泛的问题,但希望有人能够根据上述内容找出问题所在。我的实际代码很大,而且更复杂,所以有些东西把它搞砸了,太多了,无法在这里解析和解释,所以再次......只是希望有人知道为什么会这样根据我上面显示的内容。

【问题讨论】:

    标签: c# vb.net httphandler


    【解决方案1】:

    您正在将 二进制文件 的内容写入响应。我们不知道您在响应中还写了什么,或者您将内容类型设置为什么。如果您的响应内容类型是 text/plain 或类似的,那就是问题所在。如果您使内容类型反映您在响应中放入的实际类型的内容,那应该没问题。

    当然,你不应该在包含HTML等的响应中包含这样的数据 - 除非你做的事情很奇怪,这应该是唯一的 响应中的数据。

    【讨论】:

    • 会在允许时接受答案。谢谢你。结果我的一个潜艇中有一个重复的写入文件响应(这个东西被分解成多个代码文件)并且在触发设置内容类型的函数之前返回文件。我在一个奇怪的环境中,无法通过本地看到明显的......错过这个有点尴尬,但谢谢你。有点像 911 的情况。
    猜你喜欢
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    相关资源
    最近更新 更多