Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django python文件存储_Python_Django_Upload_Disk - Fatal编程技术网

django python文件存储

django 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

我想上传一个文件,将其解析为.txt,然后通过django应用程序将其存储在磁盘中。我尝试过一些不起作用的事情。首先,我想让存储工作。这是我的密码。我将感谢任何帮助

Index.html

<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,但没有成功。