django python文件存储
我想上传一个文件,将其解析为.txt,然后通过django应用程序将其存储在磁盘中。我尝试过一些不起作用的事情。首先,我想让存储工作。这是我的密码。我将感谢任何帮助 Index.htmldjango python文件存储,python,django,upload,disk,Python,Django,Upload,Disk,我想上传一个文件,将其解析为.txt,然后通过django应用程序将其存储在磁盘中。我尝试过一些不起作用的事情。首先,我想让存储工作。这是我的密码。我将感谢任何帮助 Index.html <form name='F' action='AjoutTelechargement' method='POST' enctype='multipart/form-data'> {% csrf_token %} <input type="file" n
<form name='F' action='AjoutTelechargement' method='POST'
enctype='multipart/form-data'>
{% csrf_token %}
<input type="file" name="filedir" style="color:white" size="100" >
<input type="submit" class="btn .btn-ajouter btn-xl page-scroll"
value="Ajouter" />
<script type="text/javascript" src="/media/js/jquery-1.10.2.min.js">
</script>
<script>
function myFun() {
$.get('AjoutTelechargement/'
, "value":"get_the_value_from_web"}
, function(ret) {
return ret;
});
}
url.py
from django.db import models
from django.core.files.storage import FileSystemStorage
key_store = FileSystemStorage(location='myFiles/')
class FileUpload(models.Model):
file = models.FileField(storage=key_store, upload_to='myFiles/%Y-%m-%d',
blank=False, null=False)
from django.conf.urls import url
from django.contrib import admin
from omicCV import views as omicCV_views
from blog import views as blog_views
urlpatterns = [
url(r'^$', omicCV_views.index),
url(r'^admin', admin.site.urls),
url(r'^AjoutTelechargement$', blog_views.AjoutTelechargement),
]
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
from .models import FileUpload
@csrf_exempt
def AjoutTelechargement(request):
if request.method == 'POST':
form = FileUpload(request.POST, request.FILES)
form.save()
return HttpResponse("done!")
视图.py
from django.db import models
from django.core.files.storage import FileSystemStorage
key_store = FileSystemStorage(location='myFiles/')
class FileUpload(models.Model):
file = models.FileField(storage=key_store, upload_to='myFiles/%Y-%m-%d',
blank=False, null=False)
from django.conf.urls import url
from django.contrib import admin
from omicCV import views as omicCV_views
from blog import views as blog_views
urlpatterns = [
url(r'^$', omicCV_views.index),
url(r'^admin', admin.site.urls),
url(r'^AjoutTelechargement$', blog_views.AjoutTelechargement),
]
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
from .models import FileUpload
@csrf_exempt
def AjoutTelechargement(request):
if request.method == 'POST':
form = FileUpload(request.POST, request.FILES)
form.save()
return HttpResponse("done!")
我正在尝试将上载的pdf文件解析为txt:
def AJOUT远程充电(请求):
但是在这一行中得到了这个错误:pdf=PyPDF2.PdfFileReader(path,bool('rb'))
异常值:'bytes'对象没有属性'seek'
异常位置:C:\Users\RAHMA\omicroneCV\lib\site packages\PyPDF2\pdf.py in read,第1689行“首先,我想让存储工作起来。”我首先在管理页面中注册您的模型,并确保上传按预期工作。在模板上呈现表单时,您可能会发现使用django的内置表单更容易。不,对不起,我确实完成了上载,现在我可以将文件存储在文件系统中,但我仍然在尝试在存储它们之前将它们解析为.txt。上面的代码有错误。
PdfileReader(stream,strict=True,warndest=None,overwriteWarnings=True)
看起来您已经将strict设置为True。我从来没有使用过这个软件包,所以我不知道这是否是你想要的,但如果你禁用它,它可能会起作用?从文档中:strict(bool)–确定是否应警告用户所有问题,并导致一些可纠正的问题成为致命问题。默认为True。
我还必须提醒您,不要让用户通过post指定文件系统位置。如果你在清理用户输入时不太小心的话,这肯定会是一个很大的安全问题。我试过了,但还是没用,谢谢!我还尝试了其他软件包,如pdfminer2或pyPdf,但没有成功。