クライアント側でdojoFileUploaderを使用し、サーバー側でexpress.jsを使用して画像をアップロードしようとしています。画像のアップロードが完了したら、アップロードした画像をプレビューしたいと思います。これが私のコードです:-
画像アップロードのAjaxリクエスト:-
require(['dojo/dom','dojo/_base/array','dojo/dom-construct','dojo/query',"dojo/request",'dojo/on',"dojox/form/FileUploader","dojo/domReady!"],function(dom,array,domConstruct,query,xhr,on,FileUploader)
{
var upld = new FileUploader(
{
degradable:true,
uploadUrl:'http://localhost:8005/testy',
uploadOnChange:false,
title:'uploader,
isDebug:true,
devMode:true
},'test');
on(upld,'change',function(data)
{
array.forEach(data,function(d)
{
dom.byId('filename').innerHTML = d.name;
});
});
on(upld,'complete',function(data)
{
array.forEach(data, function(d)
{
dom.byId("rgtCol").innerHTML += '<img src="'+d.file+'" />';
});
});
on(dom.byId('btn'),'click',function(evt)
{
upld.upload();
});
});
htmlコード:-
<div id='test'>Uploader</div>
<div id='filename'></div>
<div id='rgtCol'></div>
<input type='button' id='btn' label='submit' />
サーバーサイドコード:-これが私のサーバーサイドコードです:-
var express = require('express'),
fs = require('fs');
app = express.createServer();
app.use(express.bodyParser())
app.post('/testy', function(req, res)
{
var filename = req.body.Filename;
var body = req.files.flashUploadFiles.path;
fs.createReadStream(body).pipe(fs.createWriteStream('tmp/' + filename));
res.send('tmp/' + filename);
});
app.listen(8005);
私の問題は、画像がアップロードされているのに、アップロードされた画像のプレビューをクライアント側で提供できないことです。サーバー側でphpファイルを使用してこれらを行うことはできますが、express.jsではできません
前もって感謝します...