1

我有一个奇怪的问题,docfile.url我们服务器上的文件正在将%0D(回车)添加到 url 的末尾。这只发生在我手动链接的文件上。我的意思是,一个目录中有大约 1,000 个文件,我创建了一个 CSV 文件,其中包含每个文件的id和,并使用一些代码filename将它们添加到数据库中。mysql所有通过我的 django 应用程序的界面链接正常上传的文件 - 单击它们的链接会正确打开文件。

这是 CSV 文件的示例:

792,asbuilts/C0010.pdf
793,asbuilts/C0011.pdf
794,asbuilts/C0012.pdf
795,asbuilts/C0013.pdf
796,asbuilts/C0014.pdf
797,asbuilts/C0015.pdf
798,asbuilts/C0016.pdf
799,asbuilts/C0017.pdf

我在目录中有所有这些 asbuilt 文件static_media/asbuilts/。在mysql中我运行了这个命令:

load data local infile '/srv/www/cpm/CPM_CSV_Files/comm_asbuilts.csv' into table systems_asbuilt fields terminated by ',' lines terminated by '\n' (id, docFile);

的示例输出select * from systems_asbuilt如下所示:

 |846 | asbuilts/C0057.pdf
 |847 | asbuilts/C0059.pdf
 |848 | asbuilts/C0060.pdf
 |849 | asbuilts/C0061.pdf
 |850 | asbuilts/C0062.pdf
 |851 | asbuilts/C0063.pdf
 |852 | asbuilts/C0064.pdf

一切看起来都不错吧?

但是当我查看创建的链接时,它看起来像这样:

`www.ourdomain.com/static_media/asbuilts/R0546.pdf%0D'

如果我从链接中手动删除%0D,该文件将按预期打开。知道为什么那里有额外%0D的东西吗?它来自哪里?

谢谢

4

1 回答 1

0

我的猜测是,这是:

lines terminated by '\n'

应该

lines terminated by '\r\n'

由于您用于浏览它的客户端,您的结果“看起来”正确,但是当检索到记录时,它仍然\r附加了它。

因此,您可以在将其加载到数据库之前或.strip()在生成链接之前将其剥离。

于 2013-04-22T05:48:55.130 回答