日期:2014-05-16  浏览次数:20406 次

js中有没有类似java里的String.getBytes()的方法,返回一个byte类型的数组。
我现在再做一个项目,项目的要求是用js而不是用j2ee开发的,现在我要做的是上传文件到数据库中,其中数据库为oracle9i,内容字段的类型为blob类型,现在我已经把数据从文件中读取出来了,返回来的是一个String(相当于),但是我用这个插入数据库的时候显示:       错误 'ORA--01465       此一16進位数字无效 ',大家有没有好的办法啊,
//================================================
function   action_upload(request)   {

        //   RequestParameter   对象取得
        var   parameter   =   request.getParameter( "local_file ");
       
        //   文件里的数据的取得
        //var   fileData   =   parameter.getValueAsStream();
        var   fileData   =   parameter.getValueAsStream();
        //   文件名取得
        var   fileName   =   parameter.getFileName();
          var   objRecord   =   new   Object();
          //数据库的主key取得
          var   sql   =     "select   nvl(max(t.file_id),0)   +   1     as   file_id   from   t_updatefile   t ";
          //数据库查询
          var   objData   =   DatabaseManager.select(sql);
          if   (objData.countRow   ==   0)   {
                  Module.alert.link( "SYSTEM.WARN ",   "sql文无效,请确认。 ", "sample/mytest/sample08/index ");
                  return;
          }
        //   记录取得
        objRecord.file_id                     =   objData.data[0].file_id;
        //objRecord.file_id                   =   "00 ";
        objRecord.file_name                   =   fileName;
        objRecord.file_naiyou               =   fileData;

        //   DB处理
        DatabaseManager.beginTransaction();

        //   纪录追加
        result   =   DatabaseManager.insert( "t_updatefile ",   objRecord);

        //   错误检查
        if   (!   result.error)   {
                DatabaseManager.commit();                       //   成功
        }   else   {
                DatabaseManager.rollback();                   //   失败
        }
        //Debug.browse(result,parameter.getValue(),parameter);
}

------解决方案--------------------
据我所知是没有的.