2017-01-24 6 views
-4

私はインド政府のプロジェクトを作成しています。問題は、ユーザーが画像やPDFをアップロードしたときに、破損した画像やPDFをチェックする方法です。ユーザーがファイルの拡張子を.txtから.jpgに変更してからアップロードすると、アップロードされたとします。ですから、誰かがファイルをアップロードしたり、画像やPDFを改ざんしたりすると、私は無効にしたいのです。アップロード時に壊れた画像をチェックする方法は?

+0

私は次のとおりである書き込みコードを持っているで始まりますwindow.webkitURL; $( "#ファイル")機能(E(変更){ varファイル、IMG;。 場合((ファイル= this.files [0])){ IMG =新しいイメージ(); IMG {アラート(this.width + "" + this.height); }; img.onerror = function(){ アラート( "有効なファイルではありません:" + file.type); }; img.src = _URL.createObjectURL(ファイル); }})。 –

+0

しかし、壊れたpdfのために私はチェックする方法を手に入れませんでしたか?いずれかの助けて –

+0

あなたは壊れた画像や壊れたPDFをお探しですか? –

答えて

0

PDF以外のファイルを読むときに例外が発生するPDF.jsを試してみてください。このAPIを使用して、ファイルが実際のPDFでありPDFなしであるかどうかを確認できます。

PDFファイルをチェックするには、ファイルの内容を読み取ってそのフォーマットを検証する必要があることを常に確認してください。PDFを読む必要はありません。

PDF.JS

+0

私は試してみます –

+0

githubでライブデモを試してみて、pdf以外のファイルを読み込もうとしてみてください。 –

+0

https://mozilla.github.io/pdf.js/web/viewer.htmlこのリンクを確認し、拡張子を変更してpdf以外のファイルをアップロードしてください。 –

0

シンプルなソリューションと、ファイルが破損しているかどうか気にしない場合より。最初の2〜8バイトを確認し、それがサポートできるファイルタイプ(Magic numbers参照)かどうかを判断できます。 VAR _url = window.URL || - :

  • PNGはイメージの場合0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
  • JPG 0xFF 0xD8
  • PDF 0x25 0x50 0x44 0x46
+0

Uint8Array https:// githubを読み込む方法を参照してください。com/mozilla/pdf.js/blob/2170eda9df013119835a21d5194e6d986397f4ac/web/app.js#L1777-L1784 – async5

関連する問題