[英]C# Text File upload and download issue
好的,我有一个将文本文件上传到Web服务器的应用程序,并且一切正常。 但是,文本文件在下载时会神奇地出现一行
例:
textfile contains = Hello World
downloaded textfile contains = //notice the blank line here
Hello World
通常这不会有问题,因为我只是创建一个临时文件并删除该行。
但是,由于文本文件包含加密的数据,并且如果我创建一个新的临时文件来删除该行,则它将完全与加密的文本混淆,并产生“错误数据”和“要解密的数据长度无效”错误。
我几乎100%确信它不是我的加密算法,因为文本文件在上载之前就已输出,并且在未上载的文本文件上可以正常工作。
如果你们能帮助我,那太好了。 任何解决方法都可以(不管它有多恐怖/讨厌)。
服务器和客户端是否运行相同的家族操作系统? 我认为这可能是由于换行符序列不同以及以不同模式(文本/二进制)进行上传和下载的缘故。
如果数据是经过加密或加密签名的,则您想做的所有事情都可以确保以二进制模式完成传输。
发生这种情况有两个原因。
检查这两个代码,并发布一些示例(如果您实际在使用它)。 我已经使用c#上传了文件,效果很好。
您应该查看Hanselman的博客中是否有简单的上传应用程序……很简单。
下载代码是什么样的?
大胆猜测:您正在使用Response.Write()
编写文本,而没有使用Response.Clear()
清除任何“ aspx文本”。 另外,您需要该代码以Response.End()
结尾,以防止进一步添加文本。
看起来您的加密算法正在将您的文本附加以空终止的字符串。
尝试将文本文件以字节数组的形式加载到Web服务器上,然后查看最后一个字节是否为'\\ 0'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.