通过外部便签通过回形针上传文件

2024-04-25 00:06:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个rails应用程序,它是一个客户端的CMS。该应用程序目前有一个documents类,可以用回形针上传文档。在

除此之外,我们还运行一个python脚本,它访问数据库并获取给定事件的大量信息,创建一个propositionword文档,并将其上载到正确事件下的数据库中。在

这一切正常,但应用程序无法识别文档。我如何制作一个python脚本来正确地上传文档,以便曲别针知道发生了什么?在

这是我的回形针控制器:

def new
    @event = Event.find(params[:event_id])
    @document = Document.new
end

def create
    @event = Event.find(params[:event_id])
    @document = @event.documents.new(document_params)
    if @document.save 
        redirect_to event_path(@event) 
    end
end

private

def document_params
    params.require(:document).permit(:event_id, :data, :title)
end

型号

^{pr2}$

这是python代码。在

f = open(propStr, 'r')

binary = psycopg2.Binary(f.read())

self.cur.execute("INSERT INTO documents (event_id, title, data_file_name, data_content_type) VALUES (%d,'Proposal.doc',%s,'application/msword');" % (self.eventData[0], binary))

self.con.commit()

Tags: 文档self脚本eventid数据库应用程序new
1条回答
网友
1楼 · 发布于 2024-04-25 00:06:56

您可能应该使用Ruby编写脚本,因为它可以加载任何需要的模型信息或其他类。在

但是,假设您的需求要求使用python,请注意,纸夹不会在数据库表中存储文档,而只存储文件的元数据。默认情况下,实际文件存储在文件系统的/public目录中(也可以是s3,等等,具体取决于您的配置)。我会确保你把文件保存到正确的预期目录。{a1}的路径是默认路径:

:rails_root/public/system/:class/:attachment/:id_partition/:style/:filename

因此,您必须进行另一个sql查询来检索新记录的id。我不相信PDF有:style属性,因为您不使用imagicmagick来调整它们的大小,所以构建一个如下所示的路径:

^{pr2}$

并从python脚本中保存它。在

相关问题 更多 >