上传PDF's使用Dropzone.js&拉拉维尔.有些上传成功,另一些则返回一个空对象
Uploading PDF's using Dropzone.js & Laravel. Some upload successfully, others return an empty object?
我正试图使用Dropzone.js将一些文件上传到运行Laravel 4.2的PHP环境中。我遇到了一个非常令人困惑的错误,一些PDF会成功上传,而另一些则不会。
当我说有些没有成功上传时,我的意思是上传后Input::all()
中可用的内容:
[file] => Symfony'Component'HttpFoundation'File'UploadedFile Object
(
[test:Symfony'Component'HttpFoundation'File'UploadedFile:private] =>
[originalName:Symfony'Component'HttpFoundation'File'UploadedFile:private] => presskit.pdf
[mimeType:Symfony'Component'HttpFoundation'File'UploadedFile:private] => application/octet-stream
[size:Symfony'Component'HttpFoundation'File'UploadedFile:private] => 0
[error:Symfony'Component'HttpFoundation'File'UploadedFile:private] => 1
[pathName:SplFileInfo:private] =>
[fileName:SplFileInfo:private] =>
)
你会立即注意到,有些事情是错误的:
- 模拟类型被建模为CCD_ 2。这表示无法解析实际的mimetype
- 文件大小为
0
- 错误为
1
然而,在向服务器发出请求的过程中,我可以非常清楚地看到,我的请求是用application/pdf
:的mimetype发送的
-----------------------------6541909715113
Content-Disposition: form-data; name="file"; filename="presskit.pdf"
Content-Type: application/pdf
这是发送到服务器的数据的开始。在客户端,我可以在所有浏览器中重现这一点。这是我的dropzone.js功能:
Dropzone.options.uploadedFilesDropzone = {
autoProcessQueue: false,
maxFilesize: 1024, //MB
addRemoveLinks: true,
init: function() {
var uploadedFilesDropzone = this;
$('#submit').on('click', function() {
uploadedFilesDropzone.processQueue();
});
}
successmultiple: function(files, message) {
var uploadedFilesDropzone = this;
console.log(files);
var wereAnyFilesErrored = false;
$.each(files, function(index, file) {
if (!message.errors) {
file.previewElement.classList.add('dz-success');
console.log(message);
} else {
wereAnyFilesErrored = true;
var node, _i, _len, _ref, _results;
if (file.previewElement) {
file.previewElement.classList.add("dz-error");
if (typeof message !== "String" && message.error) {
message = message.error;
}
_ref = file.previewElement.querySelectorAll("[data-dz-errormessage]");
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
node = _ref[_i];
_results.push(node.textContent = message);
}
}
}
});
if (wereAnyFilesErrored === true) {
$.each(files, function(index, file) {
file.status = 'queued';
console.log(file);
});
}
}
}
此外,PDF上传是否正确似乎没有任何区别。起初,我认为这可能与它保存为的PDF版本有关,但两者都是1.4&1.6可能是成功的,也可能是失败的。
有人能告诉我发生了什么事吗?
一些php安装对文件上传有非常严格的限制。它可能只是文件的大小。你能检查一下你的php.ini吗?
条目将如下所示:
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 如何使用javascript或html下载PDF格式的填写表单
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 上传PDF's使用Dropzone.js&拉拉维尔.有些上传成功,另一些则返回一个空对象
- 如何将 phantomjs pdf 呈现为可返回的流
- 打开一个新窗口,其中包含从 XMLHttpRequest 返回的 blob 对象中的 PDF 数据
- Web API 2 - 返回 pdf,在客户端 (AngularJs) 上显示/下载收到的 pdf 文件
- 保存服务返回的PDF
- 打印在iTextSharp中创建的PDF,然后将控件返回到浏览器
- 在HTML上显示以JSON形式返回的字节数组(PDF文件)
- 当结果集为null时,JasperRunManager.runReportToPdfStream返回一个空白pdf
- 无法使用jspdf将图像添加到pdf.返回getJpegSize错误
- 文件API返回"invalid/octet-stream"下载pdf文件
- 探测从位置返回.Href(重定向到PDF处理url时)
- 发送表单数据到其他服务器并返回pdf
- 使用JSON和mvc返回PDF到浏览器