我们使用nginx在我们的服务器上成功设置了图片上传。一切都被发布到/上传,然后重定向到/文件进行处理。文件上传并存储,但文件顶部有标题。
------ WebKitFormBoundaryqUwBABts5uiLHgDN
内容 - 处置:表单数据; NAME = “图片”;文件名= “coldplay.jpg”
内容类型:image / jpeg
我该怎么做?我是否使用PHP删除这些标题,然后再次保存文件?
上传带有这些标头的文件是否符合预期行为?
以下是表格:
<form action="/upload/" id="upload3" method="post">
<input type="file" id="file" name="picture" value=""/>
<input type="submit" onclick="return uploadFiles(this.form);">
</form>
和js:
<script type="text/javascript">
function uploadFiles(form) {
var formData = new FormData(form);
var url = "/upload/";
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.onload = function(e) {
if (this.status == 200) {
console.log(this.responseText);
}
};
xhr.send(formData); // multipart/form-data
return false;
}
</script>
答案 0 :(得分:0)
我使用这些代码行从上传的图像文件中删除前四行。我发现它在SO的某个地方并且效果很好 - 不幸的是我不知道它在哪里。
$line_to_strip = 4;
$new_file = new SplFileObject($file_full_new, 'w');
foreach (new LimitIterator(new SplFileObject($file_full), $line_to_strip) as $line)
$new_file->fwrite($line);
但是,我不知道这是否是我们的永久解决方案。