2011-06-18 11 views
1

私はウェブサイトの簡単なファイルアップローダーを書いています。ユーザーがフォーム見ている:DjangoファイルのアップロードでIOError(2、 'No such file or directory')例外がスローされるのはなぜですか?

<form enctype="multipart/form-data" action="/uploader/" name="upload" method="post"> 
    <input type="file" name="datafile" size="20"> 
    {% csrf_token %} 
    <span class="whats_this">Maximum File Size is 100 MB</span> 
    <button class="button orange" type="start_upload" value="Submit" onclick="document.upload.submit() ">Start Upload</button> 
    <span class="cancel_button"><a href="#">Cancel</a></span>  
</form> 

と提出の際には、私は、この関数にリダイレクト:

IOError at /uploader/ 
(2, 'No such file or directory') 
uploader\views.py in uploadFiles, line 17 
:私はこの機能を試してみたとき

def uploadFiles(request): 
    if request.method == 'POST':  
    if(validate(request)): 
     file = request.FILES['datafile'] 

     destination = open('uploadedFiles/test.txt', 'wb+') 

     for chunk in file.chunks(): 
      destination.write(chunk) 
     destination.close() 

     context = {'files': file.name} 
     return render_to_response('dashboard.html', context) 
    else: 
     ... 

、私は常に例外を取得します

行17は、宛先 "行先= open( 'uploadedFiles/test.txt'、 'wb +')の行です。私はかなりこれを試してきましたが、それは単に動作しません。私はここで何か重要なものを逃しています

答えて

3

あなたはどこにアップロードしようとしているのか、uploadedFilesディレクトリを作成した場所は言っていません。問題は、相対的な経路を提供しているということですが、相対的な位置は明らかです(おそらくmanage.pyまたは.wsgi)。

最高の結果を得るには、MEDIA_ROOTにする必要があります。

+0

ダニエルありがとうございます。問題はその道でした。私はos.getcwd()をチェックし、/ uploader /の前にフォルダ "/ project"が見つからなかったと考えました。 – phoxley

+0

@phmulin:ダニエルの答えを受け入れることは自由です(チェックマークをクリックしてください)。それは他の人にあなたの質問が対処されたことを知らせ、援助に感謝します。 – bernie

関連する問題