我有一个奇怪的问题,我们服务器上的docfile.url
文件正在向网址的末尾添加%0D
(回车)。这只发生在我手动链接的文件中。我的意思是,目录中有大约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
我在目录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
吗?它来自哪里?
由于
答案 0 :(得分:0)
我的猜测是,这个:
lines terminated by '\n'
应该是
lines terminated by '\r\n'
您的结果“看起来”正确,因为您正在使用它来浏览它,但是当检索到该记录时,它仍然附加了\r
。
因此,您可以在将其加载到数据库之前将其删除,或者在生成链接之前将其.strip()
删除。