Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C文本文件上传和下载问题_C#_Upload_Line - Fatal编程技术网

C# C文本文件上传和下载问题

C# C文本文件上传和下载问题,c#,upload,line,C#,Upload,Line,好的,我有一个将文本文件上传到web服务器的应用程序,一切正常。 但是,在下载文本文件时,文本文件上会神奇地出现一行 例如: textfile contains = Hello World downloaded textfile contains = //notice the blank line here Hello World 通常这不会是一个问题,因为我只需要创建一个临时文件并删除该行 但是,由于文本文件包含加密

好的,我有一个将文本文件上传到web服务器的应用程序,一切正常。 但是,在下载文本文件时,文本文件上会神奇地出现一行

例如:

textfile contains = Hello World

downloaded textfile contains =                //notice the blank line here
                      Hello World
通常这不会是一个问题,因为我只需要创建一个临时文件并删除该行

但是,由于文本文件包含加密的数据,如果我创建一个新的临时文件来删除该行,它将与加密的文本完全混淆,并创建 错误数据和要解密的数据长度无效错误

我几乎100%确定这不是我的加密算法,因为文本文件在上传之前就被输出了,而且它在未上传的文本文件上运行良好


如果你们能帮我,那就太棒了。不管它有多么糟糕,任何解决方法都可以。

服务器和客户端是否运行同一系列操作系统?我认为这可能是由于换行符序列的不同,以及以不同的文本/二进制模式上传和下载


如果数据经过加密或加密签名,您需要尽一切努力确保传输以二进制模式完成。

服务器和客户端是否运行同一系列操作系统?我认为这可能是由于换行符序列的不同,以及以不同的文本/二进制模式上传和下载


如果数据经过加密或加密签名,您需要尽一切努力确保传输以二进制模式完成。

出现这种情况的原因有两个

您在上传时做了一些更改,比如解析文本和一些数据操作,其中引入了这一行 您正在读取文件并在下载之前对其进行操作。。。 如果您实际在操作代码,请检查代码并发布一些示例。我用c上传了文件,效果很好


您应该检查一个简单的上传应用程序……这是直截了当的。

出现这种情况有两个原因

您在上传时做了一些更改,比如解析文本和一些数据操作,其中引入了这一行 您正在读取文件并在下载之前对其进行操作。。。 如果您实际在操作代码,请检查代码并发布一些示例。我用c上传了文件,效果很好


您应该检查一个简单的上传应用程序……它很简单。

下载代码是什么样子的


胡乱猜测:您正在响应。正在编写文本,没有响应。清除可清除任何aspx文本。另外,您需要该代码在响应时结束。结束以防止进一步添加文本。

下载代码是什么样子的


胡乱猜测:您正在响应。正在编写文本,没有响应。清除可清除任何aspx文本。另外,您还需要该代码在响应时结束。结束以防止进一步添加到文本。

看起来您的加密算法正在使用以null结尾的字符串追加文本


尝试在Web服务器上以字节数组加载文本文件,并查看最后一个字节是否为“\0”。

加密算法似乎在用以null结尾的字符串追加文本


尝试在Web服务器上以字节数组加载文本文件,查看最后一个字节是否为“\0”。

代码中的某个地方存在错误。这就是我们目前所能说的,因为您没有提供任何代码。我很担心一个包含加密数据的文本文件。。。原始加密数据通常是任意的二进制数据,所以不应该将其视为文本。您使用的是base64还是类似的东西?我使用的是来自using System.Security.Cryptography的DES文件加密;也许您的加密算法正在填充数据以获取下一个字节,因此您将获得以null结尾的字符串。块密码总是在明文中添加填充,以在加密之前获得下一个完整的块大小。尝试在Web服务器上以字节数组加载文本文件,查看最后几个字节是否为“\0”。我很确定这与我的加密无关。代码中的某个地方有错误。这就是我们目前所能说的,因为您没有提供任何代码。我很担心一个包含加密数据的文本文件。。。原始加密数据通常是任意的二进制数据,所以不应该将其视为文本。您使用的是base64还是类似的东西?我使用的是来自using System.Security.Cryptography的DES文件加密;也许您的加密算法正在填充数据以获取下一个字节,因此您将获得以null结尾的字符串。块密码总是在明文中添加填充,以在加密之前获得下一个完整的块大小。尝试在Web服务器上以字节数组加载文本文件,查看最后几个字节是否为“\0”。我非常确定这与我的加密无关。我不使用任何下载代码,只是直接从Web服务器保存文本文件。因此,您使用的是指向服务器上文件的普通链接

版本。如果你通过文件系统而不是链接访问该文件,我认为该文件没有多余的一行?如果我通过web文件系统访问它,它会有多余的一行,猜测可能是从上传开始的,然后我使用的上传代码类似于:只是修改为适合我自己的使用SIM不使用任何下载代码,只需直接从Web服务器保存文本文件,即可使用服务器上文件的普通链接。我认为如果你通过文件系统而不是链接来访问这个文件,那么这个文件就没有多余的一行了?如果我通过web文件系统来访问它,就会有多余的一行,我猜可能是从上传来的,我使用的上传代码类似于:刚刚修改以适合我自己的使用my upload类添加页眉和页脚作为其多部分/表单数据上传,这可能是问题所在吗?@Donald-你必须发布代码才能让任何人回答这个问题。我使用的上传代码类似于:codeproject.com/KB/cs/uploadfileex.aspx刚刚修改过以适合我自己uses@Donald:您不应添加自己的任何标题…添加enctype=multipart/表单数据应在上传…你在下载过程中到底在做什么?使用浏览器,我有一个表显示所有上传的文件,它有一个链接下载文本文件,我点击它,它就下载了它。我的上传类添加了页眉和页脚作为它的多部分/表单数据上传,这可能是问题所在吗?@Donald-你必须发布代码才能让任何人回答这个问题。我使用的上传代码类似于:codeproject.com/KB/cs/uploadfileex.aspx刚刚修改过以适合我自己uses@Donald:您不应添加自己的任何标题…添加enctype=multipart/表单数据应在上传…你在下载过程中到底在做什么?使用浏览器,我有一个表格显示所有上传的文件,它有一个链接下载文本文件,我点击它,它就下载了