Javascript 我试图从存储在数据库中的pdf中检索,但是,它返回的是路径,而不是文件本身

Javascript 我试图从存储在数据库中的pdf中检索,但是,它返回的是路径,而不是文件本身,javascript,html,css,web2py,Javascript,Html,Css,Web2py,我觉得这是我错过的一件小事,但这是我的问题。我正在将pdf上传到数据库,然后让另一个用户检索它 表格设置在一个表格中,表格中包含用户的信息,如年龄、GPA等,最后是他们简历的pdf链接 但是,web2py不返回链接,而是返回pdf存储在文件系统中的路径 这是我的桌子: db.define_table('user_info', Field('first_name', default=get_first_name()), Field('

我觉得这是我错过的一件小事,但这是我的问题。我正在将pdf上传到数据库,然后让另一个用户检索它

表格设置在一个表格中,表格中包含用户的信息,如年龄、GPA等,最后是他们简历的pdf链接

但是,web2py不返回链接,而是返回pdf存储在文件系统中的路径

这是我的桌子:

db.define_table('user_info',
                Field('first_name', default=get_first_name()),
                Field('last_name', default=get_last_name()),
                Field('phone', 'double'),
                Field('date_of_birth', dmy=['d', 'm', 'y']),
                Field('address'),
                Field('city'),
                Field('zip'),
                Field('gpa','double'),
                Field('income','double'),  
                Field('pdf','upload')
以下是html:

<table>
      {{for user_i in user_info:}}
    <tr>
      <td>{{=user_i.first_name}}</td>
      <td>{{=user_i.last_name}}</td>
      <td>{{=user_i.gpa}}</td>
      <td>{{=user_i.income}}</td>
      <td>{{=user_i.family_members}}</td>
      <td>{{=URL('default', 'download', args=user_i.pdf)}}</td>
    </tr>
    {{pass}}
</table>
我从pdf列中的表中得到的输出如下:

/ScholarshipWebsite/default/download/user_info.pdf.aafb1b2cb4664e28.4772616469616e6365204f6e6c696e6520416363656c6572
这是存储在系统中的文件的名称

如何将上述内容变成可点击的链接,而不是系统中的文件路径


我现在正在使用默认的下载功能

在视图代码中,您只是显示URL,而不是创建链接。而不是:

<td>{{=URL('default', 'download', args=user_i.pdf)}}</td>
{{=URL('default','download',args=user_i.pdf)}
尝试:



当使用
SQLFORM
SQLFORM.grid
时,web2py会自动生成上传文件的链接,但当您手动构建视图时,您需要负责显式创建链接和URL(如您所述,数据库仅存储存储文件的文件系统路径).

开始在数据库中存储相对路径,而不是绝对路径?我认为您对框架或文件上载在一般情况下的工作方式以及框架对您的帮助程度感到困惑。我不熟悉web2py,但它可能通过将文件保存在文件系统的某个位置并提供路径来处理文件上传。您的工作是实际处理从该路径提供文件的服务,方法是生成正确的URL,让您的Web服务器为您提供文件,或者使用代码。(第一个通常是更好的选择。)@LelioFaieta我该怎么做呢?对不起,我对web应用程序有点陌生side@millimoose嗯,也许你是对的,但我的印象是web2py让这一部分变得非常简单,因为我看到了许多图像以同样的方式提供的例子。我认为我的案例中最难的部分是它在一个表中,它是一个pdf文件。我已经在这种方式上停留太久了,我想你所需要做的就是将正确的参数传递到
URL
,使其指向web2py存储上传文件的位置,但我无法告诉你在应用程序中的位置。搜索你的项目目录中的PDF。谢谢你,我觉得很愚蠢,但这是有效的。我以前试过这个,但我想我弄乱了和href的位置。。。再次感谢!
<td>{{=URL('default', 'download', args=user_i.pdf)}}</td>
<td><a href="{{=URL('default', 'download', args=user_i.pdf)}}">PDF</a></td>