无法上传.exe / .msg文件,其他所有内容

时间:2017-07-31 20:37:51

标签: php laravel

我正在运行以下环境:

  • PHP 7.1.7
  • IIS 10
  • Windows 10 1703
  • Laravel 5.4.30

这是我的上传脚本(非常简单,接受所有上传):

public function uploadToTemporary(AttachmentUploadRequest $request)
{
    /** @var \Illuminate\Http\UploadedFile $file */
    $file = $request->file('file');

    return [
        'name' => $file->getClientOriginalName(),
        'location' => $file->store('temporary'),
    ];
}

我的AttachmentUploadRequest规则:

public function rules()
{
    return [
        'file' => 'file|max:20000',
    ];
}

当我上传包含.msg .exe扩展名的文件时,我会收到:

  

(1/1)ErrorException   的fopen(C:\ Users \用户史蒂夫\网站\门票\存储\应用\临时/ V4WslICBUK3TjK9Cn46nmKkXxtJVAGfDkxJiN9Lg。):   无法打开流:权限被拒绝

问题是,我可以成功上传其他类型的文件。这是在没有任何权限问题的情况下成功上传的文件扩展名:

  • .docx,.doc
  • .pptx,.ppt
  • .xlsx,.xls
  • .txt的
  • .mp4,.avi,.mp3
  • .PDF
  • .vrd
  • .jpg,.gif,.bmp

有谁知道为什么会这样?

编辑:我通过下载1.1mb可执行文件并上传它来验证文件是否已成功保存在临时窗口位置:

enter image description here

1 个答案:

答案 0 :(得分:0)

也许某些防病毒保护会阻止此操作。尝试暂时禁用它。