使用HTML5文件API在PHP服务器上上传.xls文件
Upload .xls file on PHP server using the HTML5 File API
所有,
我正在尝试使用HTML5 API上传一个xml文件。
我已经有一个脚本,这是伟大的图像工作。
它也与一个xls文件工作,除了事实,我不能使用excel打开文件,一旦它已经上传…如果我比较一下大小,原始文件是251 904字节,而上传的文件是251 911字节。我不知道那是否重要。
这是我所做的:
Javascript:reader = new FileReader();
reader.onloadend = function(evt) {
that.file = evt.target.result;
};
reader.readAsDataURL(file); // I've also try with readAsText but it's worse
使用Sproutcore Framework发送文件:
SC.Request.postUrl(url).json()
.notify(this, 'fileUploadDidComplete', fileName)
.send({ fileName: fileName, file: file });
PHP: $httpContent = fopen('php://input', 'r');
$json = stream_get_contents($httpContent);
fclose($httpContent);
$data = json_decode($json, true);
$file = base64_decode($data['file']);
$fileName = substr(md5(time().rand()), 0, 10).$data['fileName'];
$filePath = GX_PATH."/files/tmp/".$fileName;
$handle = fopen($filePath, "w");
fwrite ($handle, $file);
fclose($handle);
我希望有人能帮我找出问题所在。
提前感谢。
编辑:我找到了另一种可以在更多浏览器上工作的方法。我发现了FormData !
formData = new FormData();
formData.append("file", file);
SC.Request.postUrl(url).notify(this, 'formDataDidPost').send(formData);
这样,PHP代码就更简单了:
$_FILES['file'];
我使用以下方法完成了此操作
$out = fopen($fileUploadPath ,"wb");
$in = fopen("php://input", "rb");
stream_copy_to_stream($in,$out);
这只是我用来将上传的内容写入服务器的3种方法。试试
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 从头开始创建XLS文件
- 在localhost/intranet上嵌入DOC、PPT、XLS、PDF文件
- '的文件格式和扩展名;file.xls'don't与fileSaver.js匹配
- 我想将任何xml文件导出到excel文件(xls或制表符分隔)
- 如何编写验证函数以仅读取 XLS 和 XLSX 格式的 Excel 文件
- 使用 JavaScript 导出 XLS 文件,而不带 Active X 控件
- 需要将图像添加到轨道 2 中的现有 xls 文件中
- 分析JS实现中的XLS(Excel)文件
- 如何使用javascript将xslt文件下载到.xls
- 从R中的javascript(网页)中删除xls文件
- 从网站自动下载XLS文件
- 打开从html表导出的xls文件时发出警告
- 使用 javascript 读取 Xls 文件
- 如何将网站中的.xls文件导出为CSV文件
- 无法使用jquery从chrome浏览器下载.xls文件
- Angular JS -如何将Javascript对象导出为XLS文件
- 使用HTML5文件API在PHP服务器上上传.xls文件
- 是否有可能使用Node.js创建一个控制单元格类型的XLS excel文件?
- 从服务器下载xls文件时出现javascript错误